1

我网站上的页面模板中包含许多 *.js 文件。其中一个文件中的某些全局 javascript 变量声明(重新声明)会导致与其他 javascript 代码冲突。因为站点上有很多文件,所以很难在代码中找到声明该变量的位置(变量名称是“名称”,搜索结果中显示了很多文件)。是否有任何javascript代码调试器可以显示代码(js文件名)中声明的特定变量的位置?

4

2 回答 2

0

如果您不只是搜索变量名,而是扩展搜索以查找,name =则至少应缩小搜索范围,仅获取该变量的声明/重新声明,而不是匹配使用该变量的每个位置。

两个旁注

  1. 为了避免将来出现这种混乱,你的 JavaScript 应该真正避免使用这样的全局变量。尝试命名您的变量,以避免此类冲突。阅读这个关于如何做的问题。

  2. 您应该尝试将所有 JavaScript 文件最小化到一个文件中,以避免不必要的 HTTP 请求。在最小化过程中,您也很可能会收到有关此类变量冲突的警告。

于 2012-02-20T07:37:04.787 回答
0

通过 JsLint http://www.jslint.com/lint.html运行您的代码。选中所有复选框,除了“在第一个错误时停止”、“安全子集”和“adsafe”,因为您只想找出全局变量是什么。

您可以通过将代码封闭在这样的闭包中来将变量设为私有

(function(){
    var yourPrivateVariable = 0;
    window.yourGlobalVariable = 0;        
}());
于 2012-02-20T07:40:34.793 回答