一、字符集
JavaScript程序是用Unicode字符集编写的。
1.1 区分大小写 JavaScript是区分大小写的语言。也就是说,关键字、变量、函数名和全部标识符(identifier)都必须采起一致的大小写形式。好比:“name”和“Name”是不一样的变量。
1.2 空格、换行符和格式控制符 在JavaScript中,会忽略程序中标识之间的空格。而对于换行符,JavaScript在多数状况下也会忽略,但有一种状况例外:当在return、break、continue语句后添加换行符时,JavaScript会在换行处添加分号。 JavaScript能够识别一些特殊字符:
空格符(\u0020) 水平制表符(\u0009) 换页符(\u000C) 换行符(\u000A) 回车符(\u000D)javascript
回车符加换行符在一块儿被解析为一个单行结束符。
1.3 Unicode转义序列 JavaScript定义了一种特殊序列,用6个ASCII字符来表明任意16位Unicode内码。这些Unicode转义序列均以\u为前缀,其后跟随4个十六进制数(使用数字以及大写或小写字母A~F表示)
二、 注释
JavaScript提供了两种格式的注释。 单行注释: 以//开头 多行注释:放在 /* 和 */之间(可跨行书写,但不能有嵌套注释)
三、 直接量
直接量:程序中直接使用的数据值。好比:
12 //数字java
1.2 //小数正则表达式
"hello world" //字符串编程
true //布尔值编程语言
/javascript/gi //正则表达式直接量ide
null //空函数
四、 标识符和保留字
标识符(identifier)是用来识别具体对象的一个名称。 JavaScript语言的标识符对大小写敏感,因此a和A是两个不一样的标识符。
标识符命名规则: 第一个字符不能为数字,能够是任意Unicode字母(包括英文字母和其余语言的字母),以及美圆符号($)和下划线(_) 第二个字符及后面的字符,除了Unicode字母、美圆符号和下划线,还能够用数字。 中文是合法的标识符,能够用做变量名。 JavaScript有一些保留字,不能用做标识符:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。 另外,还有三个词虽然不是保留字,可是由于具备特别含义,也不该该用做标识符:Infinity、NaN、undefined。
五、 可选的分号
JavaScript使用分号(;)将语句分隔开。
注意:JavaScript并非在全部换行处都填补分号,只有在缺乏了分号就没法正确解析代码的时候,才会填补分号。也能够说,若是当前语句和随后的非空格字符不能当作一个总体来解析时,JavaScript就在当前语句行结束处填补分号 。好比下面代码:
var aui
athis
=spa
3
console.log(a)
JavaScript将其解析为:
var a;a=3;console.log(a);
JavaScript给第一行换行处添加了分号,由于没有分号,JavaScript就没法解析代码var a a。第二个a能够单独当作一条语句“a;”,但JavaScript并无给第二行结尾填补分号,由于它能够和第三行内容一块儿解析成“a=3”。
上面的代码解析后是没有问题的,但是没有主动添加分号,有些时候会致使意想不到的情形。好比:
var y=x+f
(a+b).toString()
解析后:
var y=x+f(a+b).toString();
若是当前语句和下一行语句没法合并解析,JavaScript则在第一行后填补分号,这是通用规则,但有两个例外。
第一个例外是在涉及return、break和continue语句的场景总,若是这三个关键字后紧跟换行,JavaScript则会在换行处填补分号。
例如:
return
true;
JavaScript会解析成:
return; true;
第二个例外是在涉及“++”和“--”运算符的时候。
x
++
y
将会解析成 “x;++y”,而不是“x++;y”
适当的添加分号,可避免意想不到的错误。