- 标识符命名(强制)规范:
- 只能以英文字母、下划线 _ 、美元符 $ 开头
- 其他位置可以出现数字、英文字母、下划线、$
- 不可以与关键字、保留词重复
- 标识符应该做到望文知义,比如:宽度:width,高度:height
- 如果标识符表示的含义需多个单词来描述,建议使用驼峰命名法,或者下划线命名法,以 foo bar 为例:
- 小驼峰:除了第一个单词的首字母不用大写, 后续单词的首字母都要大写
fooBar
- 大驼峰:每个单词首字母大写
FooBar
- 下划线:
foo_bar
- 小驼峰:除了第一个单词的首字母不用大写, 后续单词的首字母都要大写
标识符
标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名,以及后面要提到的函数名。js 语言的标识符对大小写敏感,所以a
和A
是两个不同的标识符。
标识符命名规则
标识符有一套命名规则,不符合规则的就是非法标识符。js 引擎遇到非法标识符,就会报错。
简单说,标识符命名规则如下。
- 第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号(
**$**
)和下划线(**_**
)。 - 第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字
**0-9**
。
下面这些都是合法的标识符。
arg0
_tmp
$elem
π
下面这些则是不合法的标识符。
1a // 第一个字符不能是数字
23 // 同上
*** // 标识符不能包含星号
a+b // 标识符不能包含加号
-d // 标识符不能包含减号或连词线
中文
中文是合法的标识符,可以用作变量名。
var 临时变量 = 1;
虽然中文 ok,但是标识符中最好不要出现中文标识符。
保留字
js 有一些保留字(也称关键字),这些保留字不能用作标识符。
arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。