为什么画布id在JavaScript中不需要引用

为什么画布id在JavaScript中不需要引用,javascript,canvas,Javascript,Canvas,我正在查看一些代码,并认为我发现了一个与JavaScript代码中缺少的getElementById相关的错误。然而,产出似乎是有序的。我发现了这个 使用如下HTML代码 <canvas id="display" width="600" height="600"></canvas> <div id="stage" width="100" height="200"> </div> <canvas id="hud" width="200">

我正在查看一些代码,并认为我发现了一个与JavaScript代码中缺少的getElementById相关的错误。然而,产出似乎是有序的。我发现了这个

使用如下HTML代码

<canvas id="display" width="600" height="600"></canvas>
<div id="stage" width="100" height="200"> </div>
<canvas id="hud" width="200"> </canvas>
画布元素的任何Id似乎都不需要正式声明,JavaScript就可以在HTML中找到它

我是不是错过了一些众所周知的东西?我注意到,即使是在w3上,通常也会声明一个变量来引用元素ID


提前感谢。

具有ID的DOM元素可以自动访问,类似于全局变量


查看此相关答案:

为了补充Tom的答案,div返回未定义的
宽度的原因是
width
不是div的属性。您不能这样定义div的宽度。但是在画布元素中,您可以通过在HTML标记中添加
width=“200”
来定义属性。好的,非常感谢您的回答。我不太确定该搜索什么。所有这些都是有用的
console.log(display.width); // displays 600
console.log(stage.width); // displays undefined as expected
console.log(hud.width); // displays 200