JavaScript的三種條件語(yǔ)句:1、“if else”語(yǔ)句,語(yǔ)法“if(條件){…}else{…}”;2、“switch…case”語(yǔ)句;3、三元運(yùn)算語(yǔ)句,語(yǔ)法“條件表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2 ;”。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
條件判斷語(yǔ)句是程序開(kāi)發(fā)過(guò)程中一種經(jīng)常使用的語(yǔ)句形式,和大部分編程語(yǔ)言相同,JavaScript 中也有條件判斷語(yǔ)句。所謂條件判斷,指的是程序根據(jù)不同的條件來(lái)執(zhí)行不同的操作,例如根據(jù)年齡來(lái)顯示不同的內(nèi)容,根據(jù)布爾值 true 或 false 來(lái)判斷操作是成功還是失敗等。
一、if-else語(yǔ)句
1、語(yǔ)法
if-else的語(yǔ)法分為三種:
(1)if 語(yǔ)句;
if(條件){ 條件為true時(shí)執(zhí)行代碼 }
(2)if else 語(yǔ)句;
if(條件){ 條件為true時(shí)執(zhí)行的代碼 } else { 條件為false時(shí)執(zhí)行的代碼 }
(3)if else if else 語(yǔ)句;
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; //第一種語(yǔ)法 if (myage > 5){ document.writeln("你的年齡大于5歲"); } //第二種語(yǔ)法 if (myage > 15){ document.writeln("你的年齡大于15歲"); } else { document.writeln("你的年齡小于15歲"); } //第三種語(yǔ)法 if (myage > 5){ document.writeln("你的年齡大于5歲"); } else if(myage < 15 ){ document.writeln("你的年齡大于15小于5歲"); } else { document.writeln("你的年齡大于等于15歲") } </script> </body> </html>
輸出結(jié)果為
二、switch…case語(yǔ)句
1、語(yǔ)法
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 來(lái)阻止代碼自動(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)算符(也被稱(chēng)為條件運(yùn)算符),由一個(gè)問(wèn)號(hào)和一個(gè)冒號(hào)組成,其語(yǔ)法格式如下:
b ? x : y
b 操作數(shù)必須是一個(gè)布爾型的表達(dá)式,x 和 y 是任意類(lèi)型的值。
-
如果操作數(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{ //沒(méi)有賦值 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è),可以避開(kāi)變量賦值為 false、null、""、NaN等假值時(shí),也被誤認(rèn)為沒(méi)有賦值。
【