学习《javascript 权威指南》第3、4章,收获:对分号的使用
考虑如下代码,因为两条语句用两行书写,第一个分号是可以省略掉的:
a=3;
b=4;
如果按照下面格式书写,第一个分号则不能省略掉:
a=3; b=4;
javascript并不是在所有换行处都填补分号,只有在缺少了分号就无法正确解析代码的时候,才会填补分号。
(1)var a
a
= ====> javascript将其解析为 var a; a=3; console.log(a);
3
console.log(a)
(2)var y=x+f
(a+b).toString( ) ====> javascript将其解析为 var y=x+f(a+b).toString( );
有些程序员喜欢保守地在语句前加上一个分号,这样哪怕之前的语句被修改了、分号被误删了,当前语句还是会正确的解析。在公司的代码规范中指出,每个js文件要以 ; 开头也是同样的道理。
如果当前语句和下一行语句无法合并解析,js则在第一行后填补分号,这是通用规则,但有两个例外。
(1)第一个例外是在涉及return、break和continue语句的场景中。如果这三个关键字后紧跟着换行,则在换行处填补分号。
return
true; ====> javascript将其解析为 return; true;
(2)第二个例外是在涉及++和--运算符的时候
x
++ ====> javascript将其解析为 x; ++y;
y