與循環相似,條件表達式決定JavaScript運行流的走向。與其他語言一樣,JavaScript也採用了if和switch兩種條件結構。由於不同瀏覽器針對流程控制進行了不同的優化,因此兩者在性能上並沒有特別大的差異,主要還是根據需求形式進行分析和選擇:條件數量較大,建議選擇switch結構,而不是if結構,這樣可以使代碼更易讀;如果條件較少時,建議選擇if結構。
//條件少
if(found){
//執行代碼
}else{
//執行代碼
}
//條件多
switch(color){
case"red":
//執行代碼
break;
case"blue":
//執行代碼
break;
case"brown":
//執行代碼
break;
case"black":
//執行代碼
break;
default:
//執行代碼
}
事實證明,在大多數情況下,switch比if運行更快,但是只有當條件體數量很大時才明顯更快。switch與if的主要性能區別在於:當條件體增加時,if性能負擔增加的程度比switch更大。因此,從性能方面考慮,如果條件體較少,應使用if;如果條件體較多,應使用switch。
一般來說,if適用於判斷兩個離散的值或幾個不同的值域。如果判斷多於兩個離散值,那麼switch將是更理想的選擇。