Javascript jslint应该只监视全局变量

Javascript jslint应该只监视全局变量,javascript,webstorm,jslint,Javascript,Webstorm,Jslint,我正在尝试使用来自的联机lint。我还尝试使用webstorm。我只想得到全局变量。然而,我的代码很长(大约30000行),它只扫描其中的1%。 有没有办法使用lint或其他工具只查找全局变量(其余的对我来说并不重要)。 我的目标是将所有全局变量附加到窗口对象。如果您能够在文件“初始化”后运行此脚本(也就是说,如果您在加载后查找全局对象上的内容),则可以运行类似以下内容 for (value in window) { if (window.hasOwnProperty(value))

我正在尝试使用来自的联机lint。我还尝试使用webstorm。我只想得到全局变量。然而,我的代码很长(大约30000行),它只扫描其中的1%。 有没有办法使用lint或其他工具只查找全局变量(其余的对我来说并不重要)。
我的目标是将所有全局变量附加到窗口对象。

如果您能够在文件“初始化”后运行此脚本(也就是说,如果您在加载后查找全局对象上的内容),则可以运行类似以下内容

for (value in window) { 
    if (window.hasOwnProperty(value)) {
        if (console.log) console.log(value);
    }
}
请记住,代码可以等待向全局范围添加内容,直到调用它为止,这样在与代码进行更多交互之后,您就可以在全局上下文中获得更多内容

在浏览器上下文中,
窗口
是全局对象,因此挂起它的任何内容都在全局上下文中。在其他上下文中,它可能不同——在节点中,例如


Allardice详细解释了为什么希望
hasOwnProperty
。简而言之,
hasOwnProperty
将限制您访问对象本身的属性,而不会跟踪对象的属性。更简单地说,使用
hasOwnProperty
将删除一些代码没有添加到对象中的积垢(在本例中,是全局
window
context)。

您可以运行类似
for(window中的值){if(window.hasOwnProperty(value)){console.log(value)}
在初始化后的某个时间点?如果是JSLinted,或者在本例中是JSLintable,那么您还可以grep
var
(对于多行声明有一定的余地)的源代码,并可能相当快地对其进行查看。这几行代码正是我所需要的。如果你写下来作为答复,我会接受的。我相信它可以帮助更多的人。非常感谢。当然,没问题。很高兴这是你需要的。我试图把它变成一个“真实”的答案。这正是我所需要的,比林特简单得多!