2010-07-15 43 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