我刚刚开始编写自己的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/

10-16 14:28