字符集
JavaScript程序是用Unicode字符集编写的。
JavaScript是
区分大小写
的语言。即
关键字
、
变量
、
函数名
和
所有标识符
(identifier)都必须采取一致的大小写形式。如:“name”和“Name”是不 同的变量。
在JavaScript中,会
忽略程序中标识之间的空格
。而对于换行符, JavaScript在多数情况下也会忽略,但有一种情况例外:当在return、break、 continue语句后添加换行符时,JavaScript会在换行处添加分号。
JavaScript可以识别一些特殊字符:
空格符(\u0020)
水平制表符(\u0009)
换页符(\u000C)
换行符(\u000A)
回车符(\u000D)
回车符加换行符在一起被解析为一个单行结束符。在有些计算机硬件和软件中,无法显示或者输入Unicode字符全集,为了支持使用老旧技术的程序员, JavaScript定义了一种特殊序列,
用6个ASCII字符来代表任意16位Unicode内码
。这些Unicode转义序列均
以\u为前缀
,其后跟随4个十六进制数(使用数字 以及大写或小写字母A~F表示)。
注释
JavaScript提供了两种格式的注释:
单行注释
: 以
//
开头
多行注释
:放在
/*
和
*/
之间(可跨行书写,但
不能有嵌套注释
)
直接量
直接量
:程序中直接使用的数据值。如:
12 //数字
1.2 //小数"hello world" //字符串
true //布尔值
/javascript/gi //正则表达式直接量(模式匹配)
null //空
标识符和保留字
标识符
(identifier)是用来
识别具体对象
的一个名称,可用作变量和函数的命名,或者作为某些循环语句中跳转位置的标记。 JavaScript语言的标识符对
大小写敏感
,所以a和A是两个不同的标识符。
标识符命名规则
: 第一个字符不能为数字,可以是
任意Unicode字母
(包括英文字母和其他语言的字母),以及
美元符号
($)和
下划线
(_)第二个字符及后面的字符,除了Unicode字母、美元符号和下划线,还可以用
数字
。
JavaScript有一些标识符是
关键字
,因此不能用作标识符:
关键字(29个)
break case catch continue debugger
default delete do else false
finally for function if in
instanceof new null return switch
this throw true try typeof
var void while with
保留字(7个)
class const enum export extends import super
保留字,严格模式下增加的11个
implements interface let package private protected
public static yield arguments eval
同时,JavaScript预定义了许多全局变量和函数,应当避免使用与其相同的标识符作为变量名和函数名。
可选的分号
JavaScript使用
分号(;)将语句分隔开
。 注意:JavaScript并不是在所有换 行处都填补分号,只有在缺少了分号就无法正确解析代码的时候,才会填补分 号。也可以说,
如果当前语句和随后的非空格字符不能当做一个整体来解析时, JavaScript就在当前语句行结束处填补分号
。比如下面代码:
var a
a
=
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”
适当的添加分号,可避免意想不到的错误
。