我有一个有趣的问题。
我在项目中检测到了全局变量forEach()
项目有数百个文件,因此dataSrc
变量发生了数千次
显然,我忘记了forEach()
运营商的某处。
如何跟踪此全局变量原点?
UPD:
正如我已经说过的,变量发生了数千次
我真的不知道它的样子:
height
所以我绝对不能手动搜索它 有什么建议吗?
答案 0 :(得分:1)
等号是唯一可能意外创建全局变量的方法。唯一的另一种方法是将其指定为全局对象的属性,这不可能是偶然的。因此,您可以使用以下内容搜索文件以查找height
的分配:
grep -e '(^|\s)height\s*=' -R *
从这些作业中,您可以确定创建height
的位置,以及需要声明的范围。
顺便说一下,在'use strict';
模式下,JavaScript会抛出一个错误而不是创建一个隐式全局,这可能是更理想的。