[javascript] IE中的所有功能都在哪里?

时间:2010-05-20 16:07:43

标签: javascript internet-explorer

如果我想在firefox中使用我的程序中声明的所有函数和变量,我只需迭代'window'对象。例如,如果我有var a = function(){};我可以使用a();或window.a();在Firefox中,但不在IE中。我有函数迭代窗口对象并编写在程序中声明的所有函数名称:

for (smthng in window) {
    document.write(smthng);
}

在FF中工作,在IE中有一些东西,但我之前没有声明。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

这是一个众所周知的JScript错误。

在IE中,全局变量不是可枚举的,除非您明确将它们定义为窗口对象的属性。

var a = function () {};     // It won't be enumerated in a `for...in` loop
window.b = function () {};  // It will be enumerated in a `for...in` loop

以上两种方式非常相似,唯一的区别是使用a语句声明了var,这使得它不可删除,而b可以是“{ {1}}”。

deleted

答案 1 :(得分:0)

以下是解决方法:JavaScript: List global variables in IE