Tus*_*rao 2 javascript html5 dom canvas html5-canvas
我知道下面的代码清除了画布
canvas.width = canvas.width
Run Code Online (Sandbox Code Playgroud)
但这如何在内部发挥作用?
赋值运算符只是为变量赋值,但上面的代码如何清除画布?
根据JavaScript规则.赋值运算符只是为某个变量赋值.
但是,有没有办法通过为变量赋值来调用其他函数?
小智 5
当你设置一个新的值时,某些浏览器不会检查它是否与旧的相同,只是继续并在内部重新分配一个新的位图(因此清除)(高级语言可能会让人产生错觉,你可以动态更改位图大小,但事实并非如此.需要释放旧内存然后再分配新内存.
右手参数被"翻译"为JavaScript引擎所拥有的值,因此它的传递方式与任何其他值一样.
但是,这不是清除画布的推荐方法.它现在可能在某些浏览器中有效,但在将来它不确定,因为这不是规范的一部分.