if、while、do或for语句可以接受一个括在大括号中的代码块,也可以接受单行语句。单行语句的形式是另一种“带刺的玫瑰”。它的好处是可以节省两个字节,但是它模糊了程序的结构,在随后的操作中可能产生问题,例如:
if(0)
if(1)
alert(1);
else
alert(0);
如果不借助代码版式,很难明白以上代码的逻辑结构。而JavaScript解释器会根据if关键字与else关键字最近原则按如下结构进行解释。
if(0)
if(1)
alert(1);
else
alert(0);
如果其中子结构中包含多行语句,这个问题就比较麻烦了,甚至会出现执行错误的情况。因此,为了避免嵌套的条件结构发生混乱,应该使用大括号语法来分隔代码块,例如:
if(0){
if(1){
alert(1);
}
}
else{
alert(0);
}
严格遵循规范,并始终使用代码块,会使代码更容易理解。