这是一个元问题。我在SO上看到的许多JavaScript代码段都以美元符号前缀命名(例如this问题中显示的代码段的第二行$id
。我不是指jQuery或其他库。我很清楚这是有效的,但在没有必要的情况下做起来似乎很尴尬。为什么人们会像这样命名他们的变量?它是否只是熟悉PHP等服务器端语言并继承其JavaScript代码?
我想也许是将变量标识为jQuery对象,例如,当您将选择的结果保存到变量中以便稍后消除重复选择时,但我没有看到任何一致的约定。
答案 0 :(得分:19)
从句法上讲,美元符号本身并不意味着 - 对于翻译来说,它只是另一个角色,如_
或q
。但是很多使用jQuery和其他类似框架的人会将包含jQuery对象的变量作为前缀加上$,以便它们易于识别,因此不会与整数或字符串之类的东西混在一起。您可以通过在jq_
前加上这些变量来轻松采用相同的约定,它会产生相同的效果。
实际上,这是一种粗略的 Hungarian notation 。
答案 1 :(得分:4)
我有时会在变量名前加上$来表示它是一个jQuery包装的元素(最常见的是当我在函数中使用$(this)
时,我会将其分配给{{1} })。
缺乏约定的部分原因可能是人们将使用不同约定的代码粘贴在一起,从而产生不一致的代码。
另外,有时候(我很少希望)那些用PHP编写程序的人会因为习惯而将$放在变量名的开头。
答案 2 :(得分:2)
我怀疑该示例中的人只是复制jQuery模式,或者习惯于PHP / Perl,而没有真正理解它没有必要且没有特殊含义。
但是,我见过[有经验的]程序员将它用于保留关键字的变量名,例如$class
或$this
。甚至是全局的。在这种情况下,这真的是个人偏好。