那些容易忽略的事(2) - 可选的末尾分号

一般情况下,我们都不会写末尾的分号,因为在javascript中会自动补全分号,但是补全是有条件的。补全规则是:当前语句无法与下一句合并解析时才添加分号

1、第二行以"("、"["、"+"、"-"、"/"开头时,很有可能会被解析到一起,如:

var a=1+2
(a).toString()
解析结果:var a=1+2(a).toString() 
//TypeError: 2 is not a function

规则如此也有例外:

1、return、break、continue语句不能分行写

var a=function(){
  return
   true           
}
解析成:
var a=function(){
  return;
   true;
}
a()---//返回undefinde

ps:
函数没有return值或者return参数为空时,函数执行函数体中的语句,并返回undefinde
break:跳出循环体,结束循环
continue:跳出当前循环,进入下一次循环。

2、++或--

var a=b=1;
var c=a
      ++
       b
//会被解析成var c=a;++b;

ps:运算顺序
++a:先自增,再运算
a++:先运算,再自增

var a=b=0;
alert(a++) //0---a=1
alert(++b) //1---b=1

 

posted @ 2016-07-08 09:55  谢小宝  阅读(148)  评论(0编辑  收藏  举报