可能重复:
Can someone explain the dollar sign in Javascript?
Why would a javascript variable start with a dollar sign?
为什么我可以在Javascript中为$
分配一个功能,但不是#
或^
?
答案 0 :(得分:10)
来自ECMA standard(第7.6节)
美元符号($)和下划线 (_)允许在任何地方 IdentifierName
答案 1 :(得分:1)
原因是JavaScript是ECMA-262标准的一部分。
如果你阅读7.6节,你会看到关于 Identifier 语法的部分。
基本上可以使用的字符由:
定义Identifier ::
IdentifierName but not ReservedWord
IdentifierName ::
IdentifierStart
IdentifierName IdentifierPart
IdentifierStart ::
UnicodeLetter
$
_
\
UnicodeEscapeSequence
IdentifierPart ::
IdentifierStart
UnicodeCombiningMark
UnicodeDigit
UnicodeConnectorPunctuation
<ZWNJ>
<ZWJ>
答案 2 :(得分:0)
如果我理解你的问题,那只是因为Javascript解释器忽略$作为任何类型的特殊字符。您可以为a分配一个功能,您可以将一个功能分配给$。
就像下划线一样,它将$视为任何“正常”角色。
答案 3 :(得分:0)
因为这是ECMA-262指定的内容(参见第7.6节)
标识符必须与此RegEx匹配:[a-zA-Z_$][0-9a-zA-Z_$]*