有人可以解释JavaScript中的美元符号吗?
有问题的代码在这里:
var $item = $(this).parent().parent().find('input');
美元符号在变量名称中的用途是什么,为什么不排除呢?
变量中的'$'对解释器来说没有什么特别的,就像下划线一样。
从我看到的,很多使用jQuery的人(这就是你的示例代码看起来像我)倾向于将包含jQuery对象的变量前缀为$,以便它们很容易识别,而不是与整数混淆,比如整数。
jQuery中的美元符号函数$()
是一个经常使用的库函数,所以最好使用简写名称。
$符号是变量和函数的标识符。
https://web.archive.org/web/20160529121559/http://www.authenticsociety.com/blog/javascript_dollarsign
这对美元符号的用途有明确的解释。
这是另一种解释:http://www.vcarrer.com/2010/10/about-dollar-sign-in-javascript.html
美元符号被视为正常字母或下划线( _
)。 它对翻译没有特别的意义。
与许多类似的语言不同,Javascript中的标识符 (例如功能名称和变量名称)不仅可以包含字母,数字和下划线,还可以包含美元符号 。 他们甚至被允许以美元符号开始,或者只包含美元符号而没有别的。
因此, $
是Javascript中的有效函数或变量名称。
你为什么要在标识符中加一个美元符号?
语法并没有在标识符中强制执行美元符号的任何特定用法,因此您希望如何使用它。 过去,经常建议仅在生成的代码中使用美元符号来启动标识符 - 也就是说,代码不是由人工创建的,而是由代码生成器创建的。
但在你的例子中,这似乎并不是这样。 看起来有人在开始时只是放了一个美元符号以获得乐趣 - 也许他们是一个PHP程序员,因为他们习惯了,或者什么的。 在PHP中,所有变量名称必须以美元符号开头。
现在解释器中的美元符号还有另一个常见的含义:jQuery对象的名称只包含一个美元符号( $
)。 这是从早期的Javascript框架(如Prototype)中借用的惯例,如果jQuery与其他此类框架一起使用,则会有名称冲突,因为它们都将使用名称$
(可将jQuery配置为使用其全局对象的不同名称)。 Javascript中没有什么特别的东西允许jQuery使用单个美元符号作为它的对象名称; 如上所述,它只是另一个有效的标识符名称。
上一篇: Can someone explain the dollar sign in Javascript?
下一篇: What's the significant use of unary plus and minus operators?