无法在大量包含的js文件中找到变量声明

时间:2012-02-20 07:31:04

标签: javascript javascript-debugger

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

2 个答案:

答案 0 :(得分:0)

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

两个附注

  1. 为了避免将来出现这种混乱,你的JavaScript应该真的避免使用像这样的全局变量。尝试命名变量,以避免此类冲突。请阅读this SO question了解如何使用。

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

答案 1 :(得分:0)

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

你可以通过将代码包含在像这样的

的闭包中来使变量变为私有
(function(){
    var yourPrivateVariable = 0;
    window.yourGlobalVariable = 0;        
}());