canvas.width = canvas.width如何在内部工作?

时间:2013-07-08 08:33:01

标签: javascript html5 dom canvas html5-canvas

我知道下面的代码会清除画布

canvas.width = canvas.width

但这如何在内部发挥作用?

赋值运算符只是为变量赋值,但上面的代码如何清除画布?

根据JavaScript规则。赋值运算符只是为某个变量赋值。

但是,有没有办法通过为变量赋值来调用其他函数?

1 个答案:

答案 0 :(得分:5)

当你设置一个新值某些浏览器不会检查它是否与旧的相同,只是继续并在内部重新分配一个新的位图(因此清除)级别的语言可能会产生一种错觉,你可以动态地改变位图大小,但事实并非如此。需要释放旧内存,然后重新分配。)

右手参数被“翻译”为JavaScript引擎所拥有的值,因此它的传递方式与任何其他值一样。

但是,这是清除画布的推荐方法。它现在可能在某些浏览器中有效,但在将来它不确定,因为这不是规范的一部分。