1、字符集
JavaScript是区分大小写的语言。"online"、"Online"、"OnLine"和"ONLINE"是4个不同的变量名。需要注意的是,HTML并不区分大小写。许多客户端JavaScript对象和属性与他们所表示的HTML标签和属性同名。在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在JavaScript中必须使用小写。例如,在HTML中设置事件处理程序时,onclick属性可以写成onClick,但在JavaScript中必须写成小写onclick。
JavaScript会忽略程序中标识之间的空格,多数情况下会忽略换行符。因此可以采用整齐、一致的缩进来形成统一的编码风格,从而提高代码的可读性。JavaScript将如下字符识别为行结束符:换行符,回车符,行分隔符,段分隔符。回车符加换行符在一起被解析为一个单行结束符。Unicode格式控制符不能用在标识符中。但有个例外,零宽连接符和零宽非连接符是可以出现在标识符中的,但是不能作为标识符的首字符。
Unicode转义序列,使用6个ASCII字符来代表任意16位Unicode内码。以\u为前缀,其后跟随4个十六进制数。Unicode转义写法可以出现在注释中,但是不会解析为其对应的Unicode字符,只是被当作上下文中的ASCII字符处理。
Unicode允许使用多种方法对同一字符进行编码。Unicode标准为所有字符定义了一个首选的编码格式,并给出了一个标准化的处理方式将文本转化为一种适合比较的标准格式,JavaScript不会再进行标准化处理。
2、直接量
所谓直接量,就是程序中直接使用的数据值。
12 1.2 "hello world" ‘Hi’ true false /javascript/gi null {x:1,y:2} [1,2,3,4]
3、标识符和保留字
标识符就是一个名字。JavaScript标识符必须以字母、下划线或美元符号开始。后续字符可以是字母、数字、下划线或美元符号。i my_variable_name v13 _dummy $str
JavaScript把一些字符拿出来用做自己的关键字。因此就不能在程序中把这些字用做标识符了:break delete function return typeof case do if switch var catch else in this void continue false instanceof throw while debugger finally new true with default for null try 。未来可能会用到的保留字:class const enum export extends import super。严格模式下的保留字:implements let private public yield interface package protected static。严格限制以下字符,不能作为变量名、函数名或参数名:arguments eval。
JavaScript还预定了许多全局变量和函数关键字。
4、可选的分号
需要注意一些细节:a=3; b=4;中间的分号不能省略。有的程序员习惯在句首加分号,这样当上一行代码做过修改即使删掉分号也会保证程序的正确运行。
var x=0
;[x,x+1,x+2].forEach(console.log) //前面的分号保证了正确的语句解析。
在return、break和continue和随后的表达式之间不能有换行。