我的网站上的页面模板中包含许多* .js文件。其中一个文件中的某些全局javascript变量声明(重新声明)会导致与其他javascript代码冲突。 因为站点上有很多文件,所以在声明该变量的代码中很难找到位置(变量名称是'name',搜索结果中显示的文件很多)。 是否有任何javascript代码调试器可以显示代码(js文件名)中声明特定变量的位置?
答案 0 :(得分:0)
如果您不只是搜索变量名称而是扩展搜索以查找name =
,那么您应该至少缩小搜索范围以仅获取该变量的声明/重新声明,而不是匹配每个地方正在使用变量。
两个附注
为了避免将来出现这种混乱,你的JavaScript应该真的避免使用像这样的全局变量。尝试命名变量,以避免此类冲突。请阅读this SO question了解如何使用。
您应该尝试将所有JavaScript文件最小化到一个文件中,以避免不必要的HTTP请求。在最小化过程中,您很可能会收到有关此类变量冲突的警告。
答案 1 :(得分:0)
通过JsLint http://www.jslint.com/lint.html运行您的代码。检查所有复选框,“停止在第一个错误”,“安全子集”和“adsafe”除外,因为您只想找出全局变量是什么。
你可以通过将代码包含在像这样的
的闭包中来使变量变为私有(function(){
var yourPrivateVariable = 0;
window.yourGlobalVariable = 0;
}());