首页 » 编写高质量代码:改善JavaScript程序的188个建议 » 编写高质量代码:改善JavaScript程序的188个建议全文在线阅读

《编写高质量代码:改善JavaScript程序的188个建议》建议17:块标志并非多余

关灯直达底部

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);

}


严格遵循规范,并始终使用代码块,会使代码更容易理解。