在javascript中,if語句用于根據(jù)不同的條件來執(zhí)行不同的操作,語法“if(條件表達(dá)式){// 要執(zhí)行的代碼;}”或“if(條件表達(dá)式){//當(dāng)表達(dá)式成立時(shí)要執(zhí)行的代碼}else{//當(dāng)表達(dá)式不成立時(shí)要執(zhí)行的代碼}”。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
在javascript中,if語句用于根據(jù)不同的條件來執(zhí)行不同的操作。
if語句有三種不同形式:
-
if 語句;
-
if else 語句;
-
if else if else 語句;
if 語句
if 語句是 JavaScript 中最簡單的條件判斷語句,語法格式如下:
if(條件表達(dá)式){ // 要執(zhí)行的代碼; }
當(dāng)條件表達(dá)式成立,即結(jié)果為布爾值 true 時(shí),就會(huì)執(zhí)行{ }中的代碼。
示例代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JavaScript</title> </head> <body> <script type="text/javascript"> var age = 20; if(age >= 18){ // 如果 age >= 18 的結(jié)果為 true,則執(zhí)行下面 { } 中的代碼 alert("adult"); } </script> </body> </html>
運(yùn)行結(jié)果如下圖所示:
if else 語句
if else 語句是 if 語句的升級(jí)版,它不僅可以指定當(dāng)表達(dá)式成立時(shí)要執(zhí)行的代碼,還可以指定當(dāng)表達(dá)式不成立時(shí)要執(zhí)行的代碼,語法格式如下:
if(條件表達(dá)式){ // 當(dāng)表達(dá)式成立時(shí)要執(zhí)行的代碼 }else{ // 當(dāng)表達(dá)式不成立時(shí)要執(zhí)行的代碼 }
示例代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JavaScript</title> </head> <body> <script type="text/javascript"> var now = new Date(); // 獲取當(dāng)前的完整日期 var dayOfWeek = now.getDay(); // 獲取一個(gè) 0-6 之間的數(shù)字,用來表示當(dāng)前是星期幾,0 表示星期日、1 表示星期一、以此類推 if (dayOfWeek > 0 && dayOfWeek < 6) { // 判斷:如果當(dāng)前是星期一到星期五中的一天,則輸出“Have a nice day!”,若不是則輸出“Have a nice weekend!” alert("Have a nice day!"); } else { alert("Have a nice weekend!"); } </script> </body> </html>
運(yùn)行結(jié)果如下圖所示:
if else if else 語句
if 和 if else 語句都只有一個(gè)條件表達(dá)式,而 if else if else 語句是它們更高級(jí)的形式,在 if else if else 語句中允許您定義多個(gè)條件表達(dá)式,并根據(jù)表達(dá)式的結(jié)果執(zhí)行相應(yīng)的代碼,語法格式如下:
if (條件表達(dá)式 1) { // 條件表達(dá)式 1 為真時(shí)執(zhí)行的代碼 } else if (條件表達(dá)式 2) { // 條件表達(dá)式 2 為真時(shí)執(zhí)行的代碼 } ... else if (條件表達(dá)式N) { // 條件表達(dá)式 N 為真時(shí)執(zhí)行的代碼 } else { // 所有條件表達(dá)式都為假時(shí)要執(zhí)行的代碼 }
提示:if else if else 語句在執(zhí)行過程中,當(dāng)遇到成立的條件表達(dá)式時(shí),會(huì)立即執(zhí)行其后{ }中的代碼,然后退出整個(gè) if else if else 語句,若后續(xù)代碼中還有成立的條件表達(dá)式,則不會(huì)執(zhí)行。
示例代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JavaScript</title> </head> <body> <script type="text/javascript"> var now = new Date(); // 獲取當(dāng)前的完整日期 var dayOfWeek = now.getDay(); // 獲取一個(gè) 0-6 之間的數(shù)字,用來表示當(dāng)前是星期幾,0 表示星期日、1 表示星期一、以此類推 if(dayOfWeek == 0) { // 判斷當(dāng)前是星期幾 alert("星期日") } else if(dayOfWeek == 1) { alert("星期一") } else if(dayOfWeek == 2) { alert("星期二") } else if(dayOfWeek == 3) { alert("星期三") } else if(dayOfWeek == 4) { alert("星期四") } else if(dayOfWeek == 5) { alert("星期五") } else { alert("星期六") } </script> </body> </html>
運(yùn)行結(jié)果如下圖所示:
注意事項(xiàng)
使用嵌套 if else 時(shí),如果只有一行語句,也應(yīng)該使用大括號(hào)包裹起來,避免條件歧義。
例如,下面嵌套 if else 就容易引發(fā)誤解:
if(0) if(1) console.log(1); else console.log(0);
針對(duì)上面代碼,JavaScript 解釋器將根據(jù)就近原則,按如下邏輯層次進(jìn)行解釋:
if(0) if(1) console.log(1); else console.log(0);
因此使用大括號(hào)可以避免很多問題:
if(0){ if(1) console.log(1); }else{ console.log(0); }
【