这是一种元问题。在Stack Overflow上,我看到很多JavaScript片段的命名都以美元符号前缀开头(例如,在此问题中所示的代码片段中第二行的$id
)。我并不是在说jQuery或其他库。我知道这是有效的,但是当不必要时,这样做似乎很别扭。为什么人们会这样命名他们的变量?这只是熟悉服务器端语言(如PHP)在他们的JavaScript代码中的延续吗?
我认为可能是为了将一个变量标识为jQuery对象,例如当您保存选择结果以便以后消除重复选择时,但我没有看到任何一致的惯例。
这是一种元问题。在Stack Overflow上,我看到很多JavaScript片段的命名都以美元符号前缀开头(例如,在此问题中所示的代码片段中第二行的$id
)。我并不是在说jQuery或其他库。我知道这是有效的,但是当不必要时,这样做似乎很别扭。为什么人们会这样命名他们的变量?这只是熟悉服务器端语言(如PHP)在他们的JavaScript代码中的延续吗?
我认为可能是为了将一个变量标识为jQuery对象,例如当您保存选择结果以便以后消除重复选择时,但我没有看到任何一致的惯例。
从语法上讲,美元符号本身并没有任何意义——对解释器来说,它只是另一个字符,就像_
或q
一样。但使用jQuery和其他类似框架的许多人会在包含jQuery对象的变量前缀添加$,以便轻松识别,从而不会与整数或字符串之类的混淆。您也可以采用相同的约定,通过在这些变量前缀添加jq_
,达到相同的效果。
实际上,这是一种简单粗糙的匈牙利命名法。
有时我会在变量名前加上 $ 符号,以表示它是一个 jQuery 封装的元素(通常当我在函数中经常使用 $(this)
时,我会将其分配给 $this
)。
缺乏公约的部分原因可能来自于人们复制粘贴代码,这些代码使用不同的惯例,从而产生不一致的代码。
此外,有时候(希望很少)经常编写 PHP 代码的人会出于习惯而在变量名开头放置 $ 符号。
$
而在其他地方不使用是没有意义的。虽然在所有地方都使用它也很奇怪。 - pib$class
或$this
。甚至用于全局变量。在这种情况下,这真的只是个人偏好。
var strHippo = "hippo";
这样书写的 JavaScript 代码。 - Jonathon Faust