有问题的代码在这里:
var $item = $(this).parent().parent().find('input');
在变量名中使用美元符号的目的是什么,为什么不直接排除它呢?
有问题的代码在这里:
var $item = $(this).parent().parent().find('input');
在变量名中使用美元符号的目的是什么,为什么不直接排除它呢?
当前回答
美元符号就像一个普通的字母或下划线(_)。它对解释器没有特别的意义。
与许多类似的语言不同,Javascript中的标识符(如函数名和变量名)不仅可以包含字母、数字和下划线,还可以包含美元符号。它们甚至可以以美元符号开头,或者只由美元符号组成,没有其他符号。
因此,$在Javascript中是一个有效的函数或变量名。
为什么要在标识符中使用美元符号?
该语法并没有真正强制在标识符中使用美元符号的任何特定用法,因此取决于您希望如何使用它。在过去,通常建议只在生成的代码中以美元符号开始标识符——也就是说,不是手工而是由代码生成器创建的代码。
然而,在你的例子中,情况似乎并非如此。看起来好像有人只是为了好玩才在开头放了一个美元符号——也许他们是PHP程序员,出于习惯才这么做的,或者别的什么。在PHP中,所有变量名前面都必须有一个美元符号。
There is another common meaning for a dollar sign in an interpreter nowadays: the jQuery object, whose name only consists of a single dollar sign ($). This is a convention borrowed from earlier Javascript frameworks like Prototype, and if jQuery is used with other such frameworks, there will be a name clash because they will both use the name $ (jQuery can be configured to use a different name for its global object). There is nothing special in Javascript that allows jQuery to use the single dollar sign as its object name; as mentioned above, it's simply just another valid identifier name.
其他回答
没有理由。也许编写代码的人来自PHP。它的效果与将其命名为“_item”或“item”或“item$$”相同。
作为一个后缀(如“item$”,发音为“items”),它可以表示一个可观察对象,如DOM元素,作为一种称为“芬兰符号”的约定,类似于匈牙利符号。
$符号是变量和函数的标识符。
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
let $ = "Hello";
let $$ = "World!";
let $$$$$$$$$$$ = $ + " " + $$;
alert($$$$$$$$$$$);
这将显示一个“Hello World!”警告框。
正如您所看到的,$只是JavaScript标识符或变量名的一个普通字符。事实上,您可以使用大量Unicode字符作为变量名,使其看起来像美元或其他货币符号!
注意,$符号也被用作jQuery名称空间/库的引用:
$("p").text("I am using some jquery");
// ...is the same as...
jQuery("p").text("I am using some jquery");
$也用于新的模板文字格式,使用JavaScript ES6/2015版本支持的字符串插值:
var x = `Hello ${name}`;
我可能会补充说,使用它的jQuery可以让你做这样的事情,例如:
$.isArray(myArray);
美元符号在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在正则表达式中表示行结束。