JSLint在下划线前缀变量名称中报告“意外悬空”字符

时间:2010-06-14 17:55:04

标签: javascript jslint

我知道有些人认为存在一个前导下划线意味着变量是“私有的”,这种隐私是虚构的,并且假设这就是为什么JSLint会使用错误消息报告此类名称。

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

我正在尝试让我的JS代码100%JSLint干净(我不喜欢我的编码风格,因此将与Crockford先生的建议一致)。也就是说,我对Google的变量名称无能为力......所以,我想我不能100%“干净”。

我发布此处以防我误解了该消息,并且可以采取一些措施来遵守JSLint的做法。

4 个答案:

答案 0 :(得分:72)

啊,我已经解决了这个问题...我将使用下划线前缀变量和JSLint命令的语句包装起来禁用,然后重新启用这类错误:

/*jslint nomen: true*/
... statement(s) with _var ...
/*jslint nomen: false*/

答案 1 :(得分:51)

处理此问题的最佳方法是启用“容忍悬挂_标识符”(nomen)选项。有关详细信息,请参阅http://www.jslint.com/lint.html

答案 2 :(得分:15)

JSLint只是一种代码质量工具。没有完全通过测试并不意味着你的代码很糟糕;它只是意味着你不遵循其创建者规定的所有约定。尽管JSLint提出了非常好的建议,但并不总是能够实现它们,特别是当使用未经过测试的其他人的库时。您应该使用禁用的“禁止悬挂_标识符”选项来检查您的代码,而不是使用无意义的元注释乱丢您的源代码,因为使用您的特定代码似乎没有意义。

答案 3 :(得分:8)

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

jslint --nomen myfile.js