canvas.width=canvas.width如何在内部工作
How does canvas.width=canvas.width work internally?
我知道下面的代码清除了画布
canvas.width = canvas.width
但这在内部是如何运作的呢?
赋值运算符只是给变量赋值,但上面的代码是如何清除画布的呢?
根据JavaScript规则。赋值运算符的作用只是为某个变量赋值。
但有没有什么方法可以通过给变量赋值来调用其他函数呢?
当您设置一个新值时,一些浏览器不会检查它是否与旧值相同,而是在内部重新分配一个新位图(因此进行清除)(高级语言可能会给人一种错觉,认为您可以动态更改位图大小,但事实并非如此。需要释放旧内存,然后重新分配新内存)。
右手边的参数被JavaScript引擎"翻译"为它所持有的值,因此它和其他值一样被传递。
但是,这不是清除画布的推荐方法。它现在可能在一些浏览器中工作,但在未来还不确定,因为这不是规范的一部分。
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 可以't使用JavaScript获取width属性
- IE9的HTML5 Canvas getImageData()函数存在问题
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 查找带有边框的HTML5 Canvas(点击)事件的坐标
- 加速我的复杂函数绘图仪(canvas+javascript)
- margin-left和width属性在mozillafirefox中不起作用
- Canvas赢得't更新
- 在keydown(JS,Jquery)上更改HTML5 Canvas元素
- HTML5 Canvas访问控制允许原始错误
- Jasny bootstrap Off Canvas菜单:如何在导航栏下强制菜单滑动
- 在fabric.js中以PNG格式下载Canvas,给出网络错误
- 如何使用Canvas制作3D动画
- 带有内置图像对象的Canvas组件构造函数;t显示's图像
- Javascript Canvas使用getImageData(x,y,1,1).data获取颜色
- 获取Div Width,然后更新Scope Variable
- HTML5 Canvas toDataURL(“image/png”)适用于一些绘画,而有些则不然,不确定原因
- Canvas.toDataUrl(“image/png”)工作不正常
- 谷歌Chrome-context.canvas.width/context.canvas.width causes&qu
- canvas.width=canvas.width如何在内部工作