更好地查看javascript污染的全局命名空间

时间:2011-09-13 20:55:49

标签: javascript

有没有一种简单的方法可以查看您(或其他库)已经污染到全局命名空间的变量?

在(chrome)调试器控制台中,键入this / this.window会显示数百个对象,即使没有其他库也是如此。

有没有办法让它修剪所有标准浏览器空间对象并返回全局变量(或者更好,按脚本文件分类)?

3 个答案:

答案 0 :(得分:5)

如果您使用FireFox的Firebug插件(http://getfirebug.com /),请查看DOM选项卡。全局对象以粗体显示:

http://screencast.com/t/9RHaIqoEV

(这是我的浏览器,我目前正在测试一个backbone.js应用程序)

答案 1 :(得分:2)

如果您可以在加载任何其他脚本之前运行脚本,则可以存储内置int窗口属性的列表:

var builtInProps = []
for(key in window){
    builtInProps.push(key);
}

然后加载所有脚本

var pollution = [];
for(key in window){
    // check to make sure this key is in builtInProps, otherwise push it to "pollution"
}

答案 2 :(得分:0)

http://mir.aculo.us/dom-monster/可能会做到这一点。实际上显示了许多好东西。