代码之家  ›  专栏  ›  技术社区  ›  jsherk

在JavaScript中使用$for varibale名称有效吗?[重复]

  •  0
  • jsherk  · 技术社区  · 6 年前

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

    所以我可以这样做:

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

    我已经测试了一点,它似乎是有效的,但我想确保它是有效的,并将在我这样做之前,所有浏览器的工作。

    4 回复  |  直到 6 年前
        1
  •  2
  •   Flux    6 年前

    是的,自ECMAScript语言规范第一版以来,它一直有效。

    根据2019年发布的第10版ECMAScript语言规范(见: ECMAScript Language: Lexical Grammar - Names and Keywords ),变量名的语法为:

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

    正如你所见,拥有 $ 变量名中的任意位置。

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

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

        2
  •  2
  •   DpK    6 年前

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

        3
  •  2
  •   Brad    6 年前

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

    我见过一些人用 $someVar 例如,指示jQuery修饰的元素。(因为jQuery默认使用 $ (因为它的名字。)

    我不建议使用它,除非你有一个具体的原因,并且在你的代码库中是一致的。

        4
  •  1
  •   Sandren Troy Milante    6 年前

    是的,Javascript接受$和u作为变量名。它可以工作,并且在任何浏览器中都有效。 Check it here