通过window属性定义变量IE bug

分类:Javascript

通过window属性的方式我们可以定义变量,主要在一些变量名未知时用到,window[variable]=sth;但是在IE下却有问题:

<html>
<body>
<script>
window.a={};
<script src="test.js"></script>
</body>
</html>

test.js代码如下:

alert(a);
var a=window.a||{};

测试Demo:window属性方式定义变量IE Bug

在IE下会alert出undefined,这个bug出现的情况是:一个文件中通过window属性定义变量,另一文件中通过var方式定义同名变量。这样原来定义的变量在另一文件中就会未定义。看来通过var的方式定义最为稳妥,像使用KISSY.app(“YIGLE”)这种方式,还是在前面加个var 定义以免带来一些不必要的麻烦:

var YIGLE=KISSY.app("YIGLE");

—————————————————–
update: 2011-04-11
hax 一篇比较深入说明此问题的文章:http://hax.iteye.com/blog/349569

发表于:2011/03/03 10:01 | 86 views | 发表评论

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

回顶部