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

守給你的承諾、 提交于 2020-02-26 15:19:12

哪些字符可用于命名JavaScript变量?

我想为我的非JavaScript用户创建一个小型的“扩展库”,以供他们在工作时使用(语言方面似乎所有人都很陌生)。 我喜欢jQuery和Prototype都使用$符号,并且由于我使用jQuery,因此我正在寻找另一个好用的单字符符号。

我意识到我可以测试一些字符,但是我希望缩小字符列表的范围(考虑到将来与另一个流行的库的集成)。


#1楼

这是创建变量名称的快速建议。 如果您希望变量在FireFox中使用时不冲突, 请不要使用变量名“ _content ”,因为浏览器已在使用此变量名。 我发现这很困难,因此不得不更改在大型JavaScript应用程序中使用变量“ _content”的所有位置。


#2楼

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

注意:尽管其他答案都指出您可以在JavaScript标识符中使用Unicode字符,但实际的问题是“对于jQuery之类的扩展库,我应该使用哪些字符?” 这是对这个问题的答案。 您可以在标识符中使用Unicode字符,但不要这样做。 编码一直被搞砸。 将您的公共标识符保持在安全的32-126 ASCII范围内。


#3楼

Javascript变量

您可以使用任何字母, $_字符开头变量。 只要它不是以数字开头,就可以包含数字。

开始: [az], $, _

包含: [az], [0-9], $, _

jQuery的

您可以在库中使用_ ,使其与jQuery并列。 但是,您可以设置一个配置,以使jQuery不使用$ 。 相反,它将使用jQuery 。 为此,只需设置:

jQuery.noConflict();

此页面说明了如何执行此操作。


#4楼

Javascript变量可以包含字母,数字,美元符号($)和下划线(_)。 他们不能以数字开头。

通常,库使用$_作为您将在各处使用的函数的快捷方式。 尽管$_名称没有意义,但它们的缩写却很有用,并且由于您将在所有希望使用该函数的地方都知道它们的含义。

如果您的库不是要在每个地方都使用一个函数,那么我建议您使用更有意义的名称,因为这些名称将帮助您和其他人理解您的代码在做什么,而不必损害源代码的优美性

例如,您可以看看很棒的DateJS库和它允许的语法糖,而无需任何符号短名称变量。

您应该首先使代码实用,并且只有在尝试使其变得漂亮之后才能使用。


#5楼

实际上,ECMAScript在第15页上说:标识符可以以$,下划线或UnicodeLetter开头,然后继续(恰好在其下)指定UnicodeLetter可以是Unicode分类中的任何字符,Lo,Ll。 ,Lu,Lt,Lm和Nl。 当您查找这些类别时,您会发现这不仅提供了拉丁字母,而且还提供了更多的可能性。 只需在Google中搜索“ unicode类别”,即可找到它们。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!