为什么“$”是一个有效的函数标识符?

可能重复:
有人可以解释JavaScript中的美元符号吗?
为什么JavaScript变量会以美元符号开头?

为什么我可以在Javascript中为$赋一个函数,但不是#^


根据ECMA标准(7.6节)

美元符号($)和下划线(_)在IdentifierName的任何位置都是允许的。


原因是因为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>

如果我理解你的问题,那只是因为Javascript解释器忽略$作为任何类型的特殊字符。 您可以为某个功能分配一个功能,您可以将其分配给$。

就像下划线一样,它将$视为任何“正常”字符。

链接地址: http://www.djcxy.com/p/94957.html

上一篇: Why is "$" a valid function identifier?

下一篇: javascript function what is scope and why using $