73

我知道有些人认为前导下划线的存在暗示变量是“私有的”,这种隐私是虚构的,并假设这就是 JSLint 报告此类名称并带有错误消息的原因。

我在我正在构建的网站上使用 Google Analytics。我参考了 GA 的变量,例如“_gaq”。

我正试图让我的 JS 代码 100% JSLint 干净(我对我的编码风格并不虔诚,因此会接受 Crockford 先生的建议)。也就是说,我无法对 Google 的变量名称做任何事情……所以,我想我无法做到 100%“干净”。

我在这里发帖以防我误解了该消息,并且可以做一些事情来遵守 JSLint 实践。

4

4 回答 4

72

啊,我已经处理好了......我将使用下划线前缀变量的语句与 JSLint 命令一起禁用,然后重新启用此类错误:

/*jslint nomen: true*/
... statement(s) with _var ...
/*jslint nomen: false*/
于 2010-06-14T18:44:38.537 回答
51

处理这个问题的最好方法就是启用“Tolerate dangling _ in identifiers”(nomen) 选项。有关详细信息,请参阅http://www.jslint.com/lint.html ...

于 2012-02-01T14:48:28.280 回答
15

JSLint 只是一个代码质量工具。没有完全通过测试并不意味着你的代码不好;它只是意味着您不遵循其创建者制定的所有约定。尽管 JSLint 提出了非常好的建议,但并不总是能够满足所有这些建议,尤其是在使用未经测试的其他人的库时。与其在源代码中乱扔无意义的元注释,不如在禁用“禁止在标识符中悬空 _”选项的情况下检查代码,因为与您的特定代码一起使用似乎没有意义。

于 2011-06-06T08:40:29.053 回答
8

我将 JSLInt 与 node.js 一起使用。您可以通过 --nomen 标志来绕过此功能

jslint --nomen myfile.js 
于 2012-08-09T14:43:06.183 回答