html id在浏览器中公开为全局变量。
<span id="someid" class="clsname1 clsname2 clsname3"></span>
对于上面的html片段,您可以找到一个名为someid的全局变量。在许多方面,您可以在控制台中执行以下操作。
>someid.id \\gives back someid
>someid.className \\gives list of classes as string
>someid.classList \\gives an array
但是,在创建像
这样的DOM时,它与现有的全局变量(如位置,导航器等)不会发生冲突1)可以访问它们并在脚本中使用吗?
2)为什么浏览器会像这样在全球范围内公开?
3)我认为开发人员应谨慎使用id名称作为程序中的变量,因为它们可能会影响。
答案 0 :(得分:0)
命名元素作为属性添加到window
对象。这称为named access on the window object。
什么是'命名元素'?任何有id的东西,以及任何带有id的东西 用于“识别”目的的名称:即表格,图像, 锚点和其他一些,但不是其他不相关的名称实例 属性,如表单输入字段中的控件名称,参数名称
<param>
中的<meta>
或元数据类型。 '识别'名称就是那些 应该避免使用id。
您可以阅读有关此here的更多信息。