2010-07-15 44 views
0

声明有什么办法来确定多少或在一定范围内定义了什么功能?比方说,在全球范围内...确定有多少功能在全球范围内

我不这么认为,但我给它这里

编辑一试:通过窗口属性循环在IE用于这一目的不起作用。在IE中可以吗?

回答

1

尝试检查代表全局作用域的window对象。例如使用for (var in obj) {}

+0

我接受这个,因为它在2012年的大多数场景和现代浏览器中都是正确的,尽管它在IE7下测试的时候并没有工作。 – Matias 2012-06-22 02:52:39

0

去翻window对象:

for (var p in window) 
{ 
    console.log(window[p]); 
} 

创建的所有功能变为window对象的方法,所以你需要检查,要看到什么是在全球范围内。

+1

请注意,在所有IE版本中,在“for-in”循环中都不会枚举使用全局执行上下文中的函数声明或变量声明定义的标识符。这是一个众所周知的bug,即使在IE9pre3上也没有修复。检查这个[例子](http://jsbin.com/aboge4/2/edit)。 – CMS 2010-07-15 20:13:56

+0

@CMS:那很糟糕,希望有一个解决方法。谢谢 – Sarfraz 2010-07-15 20:17:49

+0

我已经试过,没有任何成功,我忘了提及我在IE中测试。无论如何感谢 – Matias 2010-07-15 20:40:17