JavaScript的三種條件語句:1、“if else”語句,語法“if(條件){…}else{…}”;2、“switch…case”語句;3、三元運(yùn)算語句,語法“條件表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2 ;”。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
條件判斷語句是程序開發(fā)過程中一種經(jīng)常使用的語句形式,和大部分編程語言相同,JavaScript 中也有條件判斷語句。所謂條件判斷,指的是程序根據(jù)不同的條件來執(zhí)行不同的操作,例如根據(jù)年齡來顯示不同的內(nèi)容,根據(jù)布爾值 true 或 false 來判斷操作是成功還是失敗等。
一、if-else語句
1、語法
if-else的語法分為三種:
(1)if 語句;
if(條件){ 條件為true時(shí)執(zhí)行代碼 }
(2)if else 語句;
if(條件){ 條件為true時(shí)執(zhí)行的代碼 } else { 條件為false時(shí)執(zhí)行的代碼 }
(3)if else if else 語句;
if(條件1){ 條件1為true時(shí)執(zhí)行的代碼 } esle if (條件2){ 條件1false條件2true } else { 都false }
例子
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>IfElse</title> </head> <body> <script type="text/javascript"> var myage = 10; //第一種語法 if (myage > 5){ document.writeln("你的年齡大于5歲"); } //第二種語法 if (myage > 15){ document.writeln("你的年齡大于15歲"); } else { document.writeln("你的年齡小于15歲"); } //第三種語法 if (myage > 5){ document.writeln("你的年齡大于5歲"); } else if(myage < 15 ){ document.writeln("你的年齡大于15小于5歲"); } else { document.writeln("你的年齡大于等于15歲") } </script> </body> </html>
輸出結(jié)果為
二、switch…case語句
1、語法
switch( 表達(dá)式 n ){ case 1 : 執(zhí)行代碼塊 1; break; case 2 : 執(zhí)行代碼塊 2 ; break; default: 與 case 1 和 case 2 不同時(shí)執(zhí)行的代碼 }
2、工作原理
首先設(shè)置表達(dá)式 n(通常是一個(gè)變量)。隨后表達(dá)式的值會(huì)與結(jié)構(gòu)中的每個(gè) case 的值做比較。如果存在匹配,則與該 case 關(guān)聯(lián)的代碼塊會(huì)被執(zhí)行。請(qǐng)使用 break 來阻止代碼自動(dòng)地向下一個(gè) case 運(yùn)行。
例子
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Switch</title> </head> <body> <script type="text/javascript"> var flag = 2; switch (flag) { case 1:document.write("紛紛擾擾這個(gè)世界,所有的了解。");break; case 2:document.write("只要讓我留在你身邊。");break; default:break; } </script> </body> </html>
輸出結(jié)果為
三、三元運(yùn)算符
三元運(yùn)算符(也被稱為條件運(yùn)算符),由一個(gè)問號(hào)和一個(gè)冒號(hào)組成,其語法格式如下:
b ? x : y
b 操作數(shù)必須是一個(gè)布爾型的表達(dá)式,x 和 y 是任意類型的值。
-
如果操作數(shù) b 的返回值為 true,則執(zhí)行 x 操作數(shù),并返回該表達(dá)式的值。
-
如果操作數(shù) b 的返回值為 false,則執(zhí)行 y 操作數(shù),并返回該表達(dá)式的值。
示例:
定義變量 a,然后檢測(cè) a 是否被賦值,如果賦值則使用該值;否則設(shè)置默認(rèn)值。
var a = null; //定義變量a typeof a != "undefined" ? a = a : a = 0; //檢測(cè)變量a是否賦值,否則設(shè)置默認(rèn)值 console.log(a); //顯示變量a的值,返回null
條件運(yùn)算符可以轉(zhuǎn)換為條件結(jié)構(gòu):
if(typeof a != "undefined"){ //賦值 a = a; }else{ //沒有賦值 a = 0; } console.log(a);
也可以轉(zhuǎn)換為邏輯表達(dá)式:
(typeof a != "undefined") && (a =a) || (a = 0); //邏輯表達(dá)式 console.log(a);
在上面表達(dá)式中,如果 a 已賦值,則執(zhí)行 (a = a) 表達(dá)式,執(zhí)行完畢就不再執(zhí)行邏輯或運(yùn)算符后面的 (a = 0) 表達(dá)式;如果 a 未賦值,則不再執(zhí)行邏輯與運(yùn)算符后面的 (a = a) 表達(dá)式,轉(zhuǎn)而執(zhí)行邏輯或運(yùn)算符后面的表達(dá)式 (a = 0)。
注意:
在實(shí)戰(zhàn)中需要考慮假值的干擾。使用 typeof a != "undefined" 進(jìn)行檢測(cè),可以避開變量賦值為 false、null、""、NaN等假值時(shí),也被誤認(rèn)為沒有賦值。
【