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);
}
嚴格遵循規範,並始終使用代碼塊,會使代碼更容易理解。