可以'在包含的一大组js文件中找不到变量声明

Can't find variable declaration in big set of included js files

本文关键字:文件 js 找不到 声明 变量 包含 可以      更新时间:2023-09-26

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

通过JsLint运行代码http://www.jslint.com/lint.html.选中所有复选框,除了"第一次出错时停止"、"安全子集"answers"adsafe",因为你只想知道全局变量是什么。

您可以通过将代码封装在类似的闭包中来使变量私有

(function(){
    var yourPrivateVariable = 0;
    window.yourGlobalVariable = 0;        
}());

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

两侧钞票

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

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