有问题的代码在这里:

var $item = $(this).parent().parent().find('input');

在变量名中使用美元符号的目的是什么,为什么不直接排除它呢?


当前回答

我可能会补充说,使用它的jQuery可以让你做这样的事情,例如:

$.isArray(myArray);

其他回答

这里有一个很好的短视频解释:https://www.youtube.com/watch?v=Acm-MD_6934

According to Ecma International Identifier Names are tokens that are interpreted according to the grammar given in the “Identifiers” section of chapter 5 of the Unicode standard, with some small modifications. An Identifier is an IdentifierName that is not a ReservedWord (see 7.6.1). The Unicode identifier grammar is based on both normative and informative character categories specified by the Unicode Standard. The characters in the specified categories in version 3.0 of the Unicode standard must be treated as in those categories by all conforming ECMAScript implementations.this standard specifies specific character additions:

美元符号($)和下划线(_)允许出现在IdentifierName中的任何位置。

进一步阅读可以在http://www.ecma-international.org/ecma-262/5.1/#sec-7.6上找到

Ecma国际是成立于1961年的行业协会,致力于信息通信技术(ICT)和消费电子产品(CE)的标准化。

变量中的'$'对于解释器来说没有任何特殊意义,就像下划线一样。

据我所知,许多使用jQuery的人(在我看来,您的示例代码就是这样的)倾向于在包含jQuery对象的变量前面加上$,这样它们就很容易被识别,不会与整数混淆。

jQuery中的美元符号函数$()是一个经常使用的库函数,因此最好使用较短的名称。

我要补充一点:

在chromium浏览器的开发控制台(还没有尝试过其他)中,$是一个原生函数,作用就像document一样。querySelector很可能是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

美元符号在ecmascript 2015-2016中用作“模板文字”。 例子:

var a = 5;
var b = 10;
console.log(`Sum is equal: ${a + b}`); // 'Sum is equlat: 15'

下面是工作示例: https://es6console.com/j3lg8xeo/ 注意这个符号" ' ",它不是普通的引号。

你也可以在使用jQuery库时遇到$。

$ sign在正则表达式中表示行结束。