为了账号安全,请及时绑定邮箱和手机立即绑定

哪些字符对JavaScript变量名有效?

哪些字符对JavaScript变量名有效?

桃花长相依 2019-05-27 16:38:51
哪些字符对JavaScript变量名有效?哪些字符可用于命名JavaScript变量?我想在这里为我的非JavaScript用户创建一个小的“扩展库”(当涉及到语言时,他们似乎都很娇气)。我喜欢jQuery和Prototype都使用$美元符号,因为我使用jQuery,我正在寻找另一个好用的单字符符号。我意识到我可以测试一些角色,但我希望能够缩小我的角色列表(考虑到未来可能与另一个流行的库集成)。
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

根据7.6标识符名称和标识符中的ECMAScript规范,有效标识符定义为:

Identifier :: 
    IdentifierName but not ReservedWordIdentifierName :: 
    IdentifierStart 
    IdentifierName IdentifierPart IdentifierStart :: 
    UnicodeLetter 
    $ 
    _ 
    \ UnicodeEscapeSequence IdentifierPart :: 
    IdentifierStart 
    UnicodeCombiningMark 
    UnicodeDigit 
    UnicodeConnectorPunctuation 
    \ UnicodeEscapeSequence UnicodeLetter 
    any character in the Unicode categories “Uppercase letter (Lu)”, “Lowercase letter (Ll)”, “Titlecase letter (Lt)”, 
    “Modifier letter (Lm)”, “Other letter (Lo)”, or “Letter number (Nl)”. UnicodeCombiningMark 
    any character in the Unicode categories “Non-spacing mark (Mn)” or “Combining spacing mark (Mc)” UnicodeDigit 
    any character in the Unicode category “Decimal number (Nd)” UnicodeConnectorPunctuation 
    any character in the Unicode category “Connector punctuation (Pc)” UnicodeEscapeSequence 
    see 7.8.4. HexDigit :: one of 
    0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F

这为命名变量和打高尔夫球创造了很多机会。我们来试试吧。

一个有效的标识符可以与无论是开始UnicodeLetter$_,或\ UnicodeEscapeSequence。unicode字母是这些类别中的任何字符(请参阅所有类别):

  • 大写字母(Lu)

  • 小写字母(Ll)

  • 标题字母(Lt)

  • 修饰符(Lm)

  • 其他字母(Lo)

  • 字母编号(Nl)

仅这一点就解释了一些疯狂的可能性 - 工作实例。如果它在所有浏览器中都不起作用,那么称之为bug,因为它应该。

var ᾩ = "something";

var ĦĔĽĻŎ = "hello";

var 〱〱〱〱 = "less than? wtf";

var जावास्क्रिप्ट = "javascript"; // ok that's JavaScript in hindi

var KingGeorgeⅦ = "Roman numerals, awesome!";


查看完整回答
反对 回复 2019-05-27
?
狐的传说

TA贡献1804条经验 获得超3个赞

基本上,以正则表达式形式:[a-zA-Z_$][0-9a-zA-Z_$]*。换句话说,第一个字符可以是字母或_或$,其他字符可以是字母或_或$或数字。

注意:虽然其他答案指出您可以在JavaScript标识符中使用Unicode字符,但实际问题是“我应该使用哪些字符作为扩展库的名称,如jQuery?” 这是对这个问题的回答。您可以在标识符中使用Unicode字符,但不要这样做。编码一直搞砸了。将您的公共标识符保存在安全的32-126 ASCII范围内。


查看完整回答
反对 回复 2019-05-27
  • 2 回答
  • 0 关注
  • 976 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信