如何找到我的javascript中使用的全局变量

时间:2012-12-28 00:24:08

标签: javascript

  

可能重复:
  Fetching all (javascript) global variables in a page

我的应用程序在javascript中使用全局变量。有没有办法找到它们中有多少?

由于 嗡

5 个答案:

答案 0 :(得分:10)

我做了一个。

var GlobalTester = (function(){
    var fields = {};
    var before = function(w){
        for(var field in w){
            fields[field] = true;
        };
    };

    var after = function(w){
        for(var field in w){
            if(!fields[field]){
                 console.log(field + " has been added");
            }            
        };

    };
    return {before: before, after:after};
}());

GlobalTester.before(window);

// Run your code here        
window.blar = "sdfg";      

GlobalTester.after(window);        
​
​

这将在控制台中输出blar has been added

答案 1 :(得分:8)

在浏览器开发者窗口中尝试此操作(F12):

Object.keys(window).length

答案 2 :(得分:1)

通过这样的窗口元素迭代:

for(var globe in window){
 console.log(globe);
}

答案 3 :(得分:0)

使用linter会在引入全局变量时发出警告。您还可以在代码运行之前和之后比较window的项目。

答案 4 :(得分:-2)

检查窗口对象,但在执行此操作之前,您需要知道所有全局变量名称,这是一个示例:

var myGlobalVars = {"global1":0, "global2":0};

function countGlobals() {
    var count = 0;
    for (myGlobalVar in myGlobalVars) {
        if (myGlobalVar in window) {
            count++;
        }
    }

    return count;
}

countGlobals();