关于命名约定:有人可以解释Javascript中的美元符号吗?

Can someone explain the dollar sign in Javascript?

相关代码如下:

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

变量名中美元符号的用途是什么,为什么不排除它呢?


在美元在特殊变量均值都在interpreter to the安下划线,多类。P></

从什么我见过许多人,使用jQuery(which is是什么你如何看我的尾巴我example to contain prefix)趋势变量与jQuery对象,知道他们是easily美元,identified & not with说,混合后,integers。P></

美元符号在jQuery函数$()the function is that is used竞相在图书馆,我desirable name is a short。P></


sign is an identifier for the美元元布尔函数。P></

web.archive.org HTTPS:/ / / / 20160529121559网站http:////JavaScript _ dollarsign www.authenticsociety.com博客P></

that has a CLEAR explanation is for the sign of是美元。P></

这是安的替代解释:http://///about-dollar-sign-in-javascript.html www.vcarrer.com 2010年10P></


在您的示例中,$除了作为名称的字符之外没有特殊意义。

然而,在ecmascript 6(es6)中,$可能表示模板文本

1
2
3
var user = 'Bob'
console.log(`We love ${user}.`); //Note backticks
// We love Bob.

sign is the美元只是一个正常的处理(_或下划线)。它没有特别的意义interpreter has to the。P></

相似于多语言identifiers(such as功能,可以在JavaScript布尔变量names)not only contain letters,数字和underscores,but can also contain美元的迹象。they are to start with a美元甚至允许的标志或标志consist only of a美元和其他没有。P></

thus $is a valid,JavaScript函数或变量。P></

为什么你会想在一个标识符在美元?P></

我真的不enforce any the syntax usage of the Dollar先生是在安identifier,轮到你知道如何使用它,你的愿望。在过去,它has often been to start with a建议安标识符只在美元符号代码that is generated by but not created,代码在代码模式的手。P></

不管一个人多在你的example,this,appear to be the不舍。它只是把一个类在北DC-SIGN at the start for美元。也许他们是PHP程序员谁做它"习惯,or something。在PHP中的变量名称,必须有一个在前端of them美元。P></

there is another sign普通meaning for a美元现在在西安interpreter jQuery对象:the name of a,他们只consists单身($美元符号)。这是一间会议earlier借从JavaScript类prototype is used,如果jQuery与其他这样的间的冲突,there will be because they both a name the name($将使用jQuery configured can be to its name for a different使用全局对象)。什么是JavaScript中的that there is to the allows使用jQuery对象name as its单美元符号;as above,上述只是一个简单的,这是有效的标识符名称。P></


EcmaScript 2015-2016将美元符号用作"模板文字"。例子:

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

这里的工作示例:https://es6console.com/j3lg8xeo/注意这个符号"`",它不是正常的引号。

您还可以在使用库jquery时遇到$

$sign-in正则表达式表示行尾。


不理性的。也许它是从人的肉在PHP编码。EN has the same effect as if你有一个叫它"_ item"或"item"或"item美元。"P></

也许这是匈牙利-some kind of that to for the式编码器位置已知的DOM元素或the variable is something。P></


当使用jquery时,在变量名中使用$符号作为前缀只是通过约定;它是完全可选的,并且仅用于指示变量持有jquery对象,如您的示例中所示。

这意味着,当需要对对象调用另一个jquery函数时,您不需要再将它包装在$()中。例如,比较这些:

1
2
3
4
5
6
7
8
9
// the usual way
var item = $(this).parent().parent().find('input');
$(item).hide(); // this is a double wrap, but required for code readability
item.hide(); // this works but is very unclear how a jQuery function is getting called on this

// with $ prefix
var $item = $(this).parent().parent().find('input');
$item.hide(); // direct call is clear
$($item).hide(); // this works too, but isn't necessary

使用$前缀,已经包含jquery对象的变量可以立即识别,代码更可读,并且消除了使用$()的双重/多重包装。


这里是好的短视频解释:www.youtube.com HTTPS:/ /手表吗?V=MD _ 6934 ACMP></

标识符的名称是根据ECMA国际tokens that are given to the interpreted根据文法"identifiers section of the"在5章with some of the Unicode标准,modifications小。安安identifiername that is not标识符是在reservedword(EEA 7.6.1)。is the Unicode标识符基于文法规则的信息都与指定的Unicode标准by the character categories。the characters in the specified categories of the Unicode 3.0版标准在处理那些categories must be as ECMAScript标准的协调模式implementations.this specifies:特异性additions characterP></

美元符号($)* * * permitted下划线(_)是在identifiername安。P></

继续阅读can be found on www.ecma-international.org:http://///# ECMA-262 5.1~7.6秒P></

ECMA国际工业协会成立于1961年,是西安dedicated to the标准和信息和通信技术(ICT)和消费电子(CE)。P></