学习JavaScript之——第2章 词法结构
学习内容:
1、 字符集
2、 注释
3、直接量
4、标识符和保留字
5、可选的分号
2.1 字符集
2.1.1 区分大小写
JavaScript是区分大小写的语言。也就是说,关键字、变量、函数名和所有的标识符都必须采取一致的大小写形式。
2.1.2 空格、换行符和格式控制符
JavaScript会忽略程序中标识(token)之间的空格。
多数情况下,JavaScript会忽略换行符。
JavaScript可以识别如下表示空格的字符:空格符(\u0020)、水平制表符(\u0009)、垂直制表符(\u000B)、换页符(\u000C)、不中断空白(\u00A0)、字节序标记(\uFEFF)。
JavaScript将如下字符识别为行结束符:换行符(\u000A)、回车符(\u000D)、行分隔符(\u2028)、段分隔符(\u2029)。
2.1.3 Unicode 转义序列
在有些计算机硬件和软件里,无法显示或输入Unicode字符全集。为了支持那些使用老旧技术的程序员,JavaScript定义了一种特殊序列,使用6个ASCII字符来代表任意16位Unicode内码。这些Unicode转义序列均以\u为前缀,其后跟随4个十六进制数(使用数字以及大写或小写字母A~F表示)。
2.1.4 标准化
Unicode允许使用多种方法对同一个字符进行编码。Unicode标准为所有字符定义了一个首选的编码格式,并给出了一个标准化的处理方式将文本转换为一种适合比较的标准格式,JavaScript会认为它正在解析的程序代码已经是这种标准格式,不会再对其标识符、字符串或正则表达式作标准化处理。
2.2 注释
JavaScript支持两种格式的注释。
1、在行尾"//"之后的文本会被当做注释忽略。
2、“/* ”和“ */”之间的文本会被当做注释,这种注释可以跨行书写,但不能有嵌套的注释。
2.3 直接量
所谓直接量,就是程序中直接使用的数据值
12;
1.2;
"hello world";
'Hi';
true;
false;
/javascript/gi;
null;
{x:1,y:2};
[1,2,3,4,5];
2.4 标识符和保留字
2.4.1 标识符
标识符就是一个名字。标识符用来对变量和函数进行命名,或者用作JavaScript代码中某些循环语句中的跳转位置的标记。
标识符必须以 字母、下划线(_)、美元符($)开始,后续字符可以是字母、数字、下划线、美元符。
2.4.2 保留字
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
ECMAscript5保留字
class const enum export extends import super
下面这些关键字在普通的JavaScript代码中是合法的,但是在严格模式下是保留字:
implements let private public yield interface package
protected static arguments eval
ECMAScript3 保留字
abstract double goto native static boolean enum implements package
super byte export import private synchronized char extends int
protected throws class final interface public transient const
float long short volatile
JavaScript预定义了很多全局变量和函数,应避免把它们的名字用作变量名和函数名:
arguments Array String Boolean Date decodeURI decodeURIComponent
ReferenceError encodeURI encodeURIComponent Error eval EvalError
URIError Infinity isNaN JSON Math Function Number isFinite
parseFloat parseInt RangeError NaN RegExp Object SyntaxError
TypeError undefined
2.5 可选的分号
和其他许多编程语言一样,JavaScript使用分号(;)将语句分隔开。在JavaScript中,如果语句各自独占一行,通常可以省略语句之间的分号(程序结尾或右花括号"}"之前的分号也可以省略)。