在这个例子中,访问画布的通常的“var myCanvas=document.getElementById(“myCanvas”);”对于生成正方形的代码来说不是必需的。
不考虑这个(从缩小的角度)有什么坏处吗?
示例取自here
在chrome、IE和firefox上测试
//var myCanvas = document.getElementById("myCanvas");
var canvasContext = myCanvas.getContext("2d");
canvasContext.fillRect(100, 100, 100, 100);
<canvas id="myCanvas" width="300" height="300">
Your user agent does not support the HTML5 Canvas element.
</canvas>
最佳答案
这是因为id使画布被认为是
元素“,在HTML standards中描述的行为。对于每个命名元素,浏览器在document
对象上定义相应的全局属性,在本例中为myCanvas
。您也可以访问document.myCanvas
。
除了使用var
不那么模棱两可和混乱之外,这种行为在旧版本的IE上是不一致的。使用全局变量既不快也不优化,因此没有理由使用它。
要回答你的确切问题,从缩小的角度来看不应该有任何问题
关于javascript - 在没有“getElementById”的情况下访问 Canvas 元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49907085/