JavaScript字符集

时间:2021-09-28 22:51:00

引言

JavaScript程序使用Unicode字符集编写。Unicode是ASCII和Latin-1的超集,并支持地球上几乎所有在使用的语言。ECMAScript3要求JavaScript的实现必须支持Unicode2.1及后续版本,ECMAScript5则要求支持Unicode3及后续版本。

区分大小

JavaScript是区分大小写的语言,也就是说,关键字、变量、函数名和所有的标识符(identifier)都必须采取一致的大小写的形式。但是需要注意的是,HTML并不区分大小写(尽管XHTML区分大小写)。

空格、换行符和格式控制符

JavaScript会忽略程序中标识(token)之间的空格,多数情况下同样会忽略换行符。

由于可以在代码中随意使用空格和换行,因此可以采用整齐、一致的缩进来进行统一的编码风格,从而提高代码的可读性。
JavaScript可以识别的空格符:

  • 普通空格符 \u0020
  • 水平制表符 \u0009
  • 垂直制表符 \u000B
  • 换页符 \u000C
  • 不中断空白符 \u00A0
  • 字节序标记 \uFEFF
  • 在Unicode中所有Zs类别的字符

JavaScript将如下字符识别为行结束符:

  • 换行符 \u000A
  • 回车符 \u000D
  • 行分割符 \uz0z8
  • 段分隔符 \u2029

    回车符加换行符在一起被解析成一个单行结束符

Unicode转义序列

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