不管是 JavaScript,还是 Java、C++,它们编写的程序代码不外乎都是由一些英文单词按照一定的规则组织起来的一条条语句。这些语句遵循的各项规则,称为语法。JavaScript 和 Java、C++ 等编程语言的语法很类似,但它也具有自己的一些特点。
和 Java 一样,JavaScript 代码中的标识符也区分大小写,所以 Student 和 student 是两个不同的标识符,如果把 student 写成 Student,程序将会出错或得不到预期结果。通常,JavaScript 中的关键字、变量、函数名等标识符一般全部小写,如果名词是由多个单词构成,通常从第二个单词开始每个单词的首字母大写。
不同于 Java 每条语句结尾必须加上分号,JavaScript 语句结尾处的分号是可选的,即可加也可不加。如果语句结尾不加分号,JavaScript 会对当前语句和下一行语句进行合并解析,如果不能将两者当成一个合法的语句来解析的话,JavaScript 会在当前语句换行处填补分号,例如:
解析的结果为 var a;a=3;。
由 JavaScript 来添加分号在大多数情况下是正确的,但也有两个例外情况。
1) 第一个例外情况是涉及 return、contiune 和 break 这3个关键字的时候。不管什么情况下,如果这些关键字的行尾处没有分号,JavaScript 都会对它们在换行处填补分号。例如,本意是 return true; 的语句,如果写成以下形式:
则 JavaScript 解析后的结果将变成:return;true;。
2) 第二个例外情况是涉及“++”和“--”这两个运算符的时候。这些运算符既可作为表达式前缀使用,也可以作为表达式后缀使用。如果将其作为表达式后缀使用,它和表达式应该在同一行。否则,JavaScript 将在行尾处填补分号。例如,本意是 x++;y; 的语句,如果写成以下形式:
则解析的结果为:x;++y;。
由前面两个例子可见,为了使语句不出现歧义,我们最好在每条语句的结尾处都加上分号。