dda*_*ala 3 javascript internet-explorer
我在IE6,IE7和IE8中测试了以下代码,结果相同:
<a name="cd"/>a</a>
<script>
try {
cd = new Date;
} catch(e) {
alert(e);
}
</script>
在所有情况下都会引发错误.然而使用
var cd = new Date;
似乎解决了这个问题.
有谁知道那是为什么?
这是一个例子:http://jsbin.com/ahuhu4/2
如果不使用var说明符来声明变量,则将变量cd作为属性添加到窗口对象中,例如window.cd.您已经有一个对象元素,<a name="cd">a</a>它是已经键入的窗口的子元素.您不能将新Date指定为此对象的类型,因为它已存在.使用var关键字时,您将该变量重新调整为局部范围并删除其对窗口对象的直接附件.这将删除错误并允许IE继续.其他浏览器引擎处理不同.
| 归档时间: | 
 | 
| 查看次数: | 3400 次 | 
| 最近记录: |