在 JavaScript 中使用 $ 作为变量名是否有效?



只是想知道在JavaScript(如PHP(的变量名前面使用$是否有效。

那么我可以做这样的事情吗:

var $x = 1; // Is this valid with the $ in front?
var y = 2; // This is valid JavaScript

我已经测试了一些,它似乎可以工作,但想确保它是有效的,并且在我这样做之前可以在所有浏览器上运行。

是的,它从 ECMAScript 语言规范的第一版开始就一直有效。

根据 2019 年发布的第 10 版 ECMAScript 语言规范(参见:ECMAScript 语言:词汇语法 - 名称和关键字(,变量名称的语法为:

IdentifierName::
IdentifierStart
IdentifierName IdentifierPart
IdentifierStart::
UnicodeIDStart
$
_
 UnicodeEscapeSequence
IdentifierPart::
UnicodeIDContinue
$
 UnicodeEscapeSequence
<ZWNJ>
<ZWJ>
...

如您所见,在变量名称中的任何位置包含$是有效的。

自 1997 年 ECMAScript 标准第一版发布以来,情况一直如此。第 4.5 节 第一版的标识符说:

标识符是无限长度的字符序列,其中序列中的每个字符必须是字母、十进制数字、下划线 (_( 字符或美元符号 ($( 字符,并且第一个字符不能是十进制数字。

Javascript 变量名称可以以字母 $ 或 _ 开头。只要你不以数字开头你的变量名称,你就可以了。

有效,是的,但除非有意义,否则通常不使用的代码样式。

例如,我看到有些人使用$someVar来表示jQuery装饰的元素。 (因为,jQuery默认使用$作为其名称。

除非您有特定原因,否则我不建议您使用它,并且您的代码库是一致的。

是的,Javascript 接受 $ 和 _ 作为变量名。它可以工作,并且在任何浏览器中都有效。在这里查看

最新更新