gpt4 book ai didi

javascript - 奇怪的 IE 错误 - 在 JavaScript 全局变量和具有名称属性的元素之间

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:19:42 25 4
gpt4 key购买 nike

我在IE6、IE7、IE8中测试了以下代码,结果相同:

<a name="cd"/>a</a><br/>
<script><br/>
try {<br/>
cd = new Date;<br/>
} catch(e) {<br/>
alert(e);<br/>
}<br/>
</script>

在所有情况下都会抛出错误。但是使用

var cd = new Date;

似乎解决了问题。
有谁知道这是为什么?

这是一个例子:http://jsbin.com/ahuhu4/2

最佳答案

当您不使用 var 说明符来声明变量时,变量 cd 将作为属性添加到 window 对象,例如window.cd .您已经有一个对象元素,它是 <a name="cd">a</a> 窗口的子元素已经输入。您不能将新日期指定为此对象的类型,因为它已经存在。当您使用 var 关键字时,您正在将变量重新限定在局部范围内并移除它与窗口对象的直接关联。这将消除错误并允许 IE 继续。其他浏览器引擎对此的处理方式不同。

关于javascript - 奇怪的 IE 错误 - 在 JavaScript 全局变量和具有名称属性的元素之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3925000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com