簡體   English   中英

如何在JavaScript中搜索全局變量

[英]How to search global variables in JavaScript

是否有任何工具或正則表達式可能有助於獲取JavaScript項目中所有全局變量的列表?

您可以遍歷窗口對象以查詢所有全局定義的數據(變量和函數,包括預定義的數據):

for (var key in window) {
    console.log(key + "=" + window[key]);
}

要分析源代碼,請使用JSLint

我非常喜歡Firefox上的Firebug擴展。

這是DOM選項卡枚舉全局(即窗口)對象中的所有屬性並按類型着色,這些基本上是您的全局變量。

Firebug DOM選項卡

您可以使用瀏覽器擴展來幫助執行以下操作:

-Firebug在Firefox中的擴展

Chrome中的“開發者工具”窗口

-Dragonfly在Opera中

我用這個正則表達式向我展示了項目代碼中的所有javascript變量。

[a-zA-Z0-9]* = .*;

然后我直觀地掃描了比賽,以確保我的所有變量都不是全局變量。 (即它們旁邊有'vars',只要它們不是傳遞給函數的參數)。

對我來說,我通過允許正則表達式和禁用匹配的上下文來使用Sublime Text 2的令人敬畏的多文件搜索。 我還告訴搜索只搜索包含我自己的javascript文件的文件夾,因此它不會顯示來自其他框架或語言的變量。 這使得每個變量一個接一個地出現,並且更容易看到任何全局變量泄漏。

希望這有所幫助,而不是太混亂。 我是一個正則表達新手,但這對我有用。 我已經在大約5分鍾內在我自己的項目中發現了3個全局泄漏。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM