只是想知道在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 接受 $ 和 _ 作为变量名。它可以工作,并且在任何浏览器中都有效。在这里查看