【问题标题】:Why is "$" a valid function identifier? [duplicate]为什么“$”是一个有效的函数标识符? [复制]
【发布时间】:2011-06-15 07:08:38
【问题描述】:

可能的重复:
Can someone explain the dollar sign in Javascript?
Why would a javascript variable start with a dollar sign?

为什么我可以在 Javascript 中为 $ 分配一个函数,而不是 #^

【问题讨论】:

  • JS中有^的其他挖矿。
  • 因为语法是这样说的。 (不是你想听到的?那就更具体了。)
  • 我建议这不是其他问题的完全重复。 编辑添加 其他问题是问你为什么要使用 $ 字符,这个问题是问为什么$ 可以与#^ .

标签: javascript grammar


【解决方案1】:

如果我理解您的问题,那仅仅是因为 Javascript 解释器忽略了 $ 作为任何类型的特殊字符。您可以为 a 分配一个函数,也可以为 $ 分配一个函数。

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

【讨论】:

    【解决方案2】:

    因为这是 ECMA-262 指定的(参见第 7.6 节)

    标识符必须匹配这个正则表达式:[a-zA-Z_$][0-9a-zA-Z_$]*

    【讨论】:

      【解决方案3】:

      来自ECMA standard(第 7.6 节)

      美元符号 ($) 和下划线 (_) 允许在任何地方 标识符名称

      【讨论】:

      • 是的,我就是这么想的。谢谢!
      【解决方案4】:

      原因是因为 JavaScript 是 ECMA-262 标准的一部分。

      如果您阅读第 7.6 节,您将看到有关 标识符 语法的部分。

      基本上可以使用的字符由以下定义:

      Identifier ::
        IdentifierName but not ReservedWord
      
      IdentifierName ::
        IdentifierStart
        IdentifierName IdentifierPart
      
      IdentifierStart ::
        UnicodeLetter
        $
        _
        \
        UnicodeEscapeSequence
      
      IdentifierPart ::
        IdentifierStart
        UnicodeCombiningMark
        UnicodeDigit
        UnicodeConnectorPunctuation
        <ZWNJ>
        <ZWJ>
      

      【讨论】:

        猜你喜欢
        • 2012-07-07
        • 2013-04-05
        • 1970-01-01
        • 1970-01-01
        • 2020-06-20
        • 1970-01-01
        • 2021-07-30
        • 2010-12-20
        • 1970-01-01
        相关资源
        最近更新 更多