《JavaScript权威指南》第六版阅读笔记(二):JavaScript词法结构

时间:2022-08-27 08:04:59

  JavaScript使用Unicode字符集。ECMAScript3要求JS的实现必须支持Unicode 2.1及后续版本,ECMAScript 5要求JS的实现支持Unicode 3及后续版本。

  JavaScript区分大小写。

  JavaScript代码建议用空格代替Tab键,因为不同IDE对Tab键的解析不完全一样。

  在有些计算机硬件和软件里,无法显示或输入Unicode字符全集,为了支持老旧硬件和软件,JavaScript定义了一种特殊序列,用6个ASCII字符来代表任意16位Unicode内码。这些Unicode转义序列均以\u前缀,其后跟随4个十六进制数(使用数字以及大写或小写的字母A-F表示),这种Unicode转义写法可以用在JavaScript字符串直接量、正则表达式直接量和标识符中(关键字除外)。例如:

"中" == "\u4e2d" //=>true

  在JavaScript解析过程中,如果发现当前语句和下一行语句无法合并解析,JavaScript则在第一行后填补分号,这是通用规则,但有两个例外:

  一是return、break、continue语句。如果这三个关键字后紧跟着换行,JavaScript则会在换行处填补分号。

  二是在涉及"++"和"--"运算符时。这些运算符可以作为表达式的前缀,也可以当作表达式的后缀。如果将其作为前缀表达式,它和表达式应当在同一行,否则行尾将填补分号,同时“++”或“--”将会作为下一行代码的前缀操作符并与之一起解析。例如:

x
++
y

//将会被解析为
x;
++y

  另外,在低版本IE中,行尾缺少或多了分号可能会报错。