有问题的代码如下:
var $item = $(this).parent().parent().find('input');变量名中美元符号的用途是什么,为什么不直接排除它呢?
发布于 2009-05-11 03:13:23
变量中的'$‘对于解释器来说并没有什么特别的意思,就像下划线一样。
据我所知,许多使用jQuery的人(在我看来您的示例代码就是这样)倾向于在包含jQuery对象的变量前加上一个$,这样它们就很容易识别,不会与整数混淆。
jQuery中的美元符号函数$()是一个经常使用的库函数,因此需要一个简短的名称。
发布于 2016-12-15 23:30:10
在您的示例中,$除了是名称的一个字符外,没有其他特殊意义。
However,in ECMAScript 6 (ES6) $可能表示
var user = 'Bob'
console.log(`We love ${user}.`); //Note backticks
// We love Bob.发布于 2009-05-11 03:23:09
美元符号被视为普通字母或下划线(_)。它对解释器没有特殊的意义。
与许多类似的语言不同,Javascript中的标识符(如函数名和变量名)不仅可以包含字母、数字和下划线,而且还可以包含美元符号。它们甚至被允许以美元符号开头,或者只由美元符号组成,而不包括其他任何符号。
因此,$在Javascript中是一个有效的函数或变量名。
为什么要在标识符中使用美元符号?
该语法实际上并不强制标识符中美元符号的任何特定用法,因此您希望如何使用它由您决定。在过去,通常建议标识符在生成的代码中仅以美元符号开头-即,不是手动创建的代码,而是由代码生成器创建的代码。
然而,在您的示例中,情况似乎并非如此。看起来有人只是为了好玩而在开头放了一个美元符号--也许他们是一个PHP程序员,他们这样做是出于习惯,或者别的什么。在PHP中,所有变量名的前面都必须有一个美元符号。
现在解释器中美元符号还有另一个常见含义: jQuery对象,它的名称只包含一个美元符号($)。这是从Prototype等早期Javascript框架中借用的约定,如果jQuery与其他此类框架一起使用,将会出现名称冲突,因为它们都将使用名称$ (jQuery可以配置为对其全局对象使用不同的名称)。Javascript中没有什么特别的东西允许jQuery使用单个美元符号作为它的对象名;如上所述,它只是另一个有效的标识符名称。
https://stackoverflow.com/questions/846585
复制相似问题