我刚刚开始编写自己的JavaScript框架(仅出于学习经验),并且为一些私有成员添加了_前缀,例如:
var _isFireBugEnabled = function () {
return (window.console && window.console.firebug);
};
当我对Crockford的JSLint(一如既往)运行代码时,一直打开
Recommended Options
时,被告知不使用_作为标识符。我的问题是,为什么JSLint就未使用_作为标识符向我发出警告?
我在这里缺少一些副作用或影响吗?
PS。据我现在可以扫描,这没有记录在book中
最佳答案
原因是Douglas Crockford讨厌Javascript *的78%。许多人认为他有点严格,实际上许多库的确在生产代码中使用了下划线。我认为这没有多大错。没有副作用。
另外,“ <$”而不是下划线是ECMA spec为“系统”代码保留的符号。
根据ECMA 262第7.6节:
本标准规定了一次偏离
根据Unicode中给出的语法
标准:美元符号($)和
下划线(_)可以在任何地方使用
在标识符中。美元符号是
仅用于机械
生成的代码。
*注意:我正在开玩笑。他真的只讨厌大约一半,而且他通常有充分的理由。我不同意克罗克福德在这里,但他通常是对的。
关于javascript - JavaScript:在JSLint中,“不允许在标识符中加入_”是一个选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/403454/