JavaScript的三種條件語句:1、“if else”語句,語法“if(條件){…}else{…}”;2、“switch…case”語句;3、三元運算語句,語法“條件表達式 ? 表達式1 : 表達式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時執(zhí)行代碼 }
(2)if else 語句;
if(條件){ 條件為true時執(zhí)行的代碼 } else { 條件為false時執(zhí)行的代碼 }
(3)if else if else 語句;
if(條件1){ 條件1為true時執(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( 表達式 n ){ case 1 : 執(zhí)行代碼塊 1; break; case 2 : 執(zhí)行代碼塊 2 ; break; default: 與 case 1 和 case 2 不同時執(zhí)行的代碼 }
2、工作原理
首先設(shè)置表達式 n(通常是一個變量)。隨后表達式的值會與結(jié)構(gòu)中的每個 case 的值做比較。如果存在匹配,則與該 case 關(guān)聯(lián)的代碼塊會被執(zhí)行。請使用 break 來阻止代碼自動地向下一個 case 運行。
例子
<!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("紛紛擾擾這個世界,所有的了解。");break; case 2:document.write("只要讓我留在你身邊。");break; default:break; } </script> </body> </html>
輸出結(jié)果為
三、三元運算符
三元運算符(也被稱為條件運算符),由一個問號和一個冒號組成,其語法格式如下:
b ? x : y
b 操作數(shù)必須是一個布爾型的表達式,x 和 y 是任意類型的值。
-
如果操作數(shù) b 的返回值為 true,則執(zhí)行 x 操作數(shù),并返回該表達式的值。
-
如果操作數(shù) b 的返回值為 false,則執(zhí)行 y 操作數(shù),并返回該表達式的值。
示例:
定義變量 a,然后檢測 a 是否被賦值,如果賦值則使用該值;否則設(shè)置默認值。
var a = null; //定義變量a typeof a != "undefined" ? a = a : a = 0; //檢測變量a是否賦值,否則設(shè)置默認值 console.log(a); //顯示變量a的值,返回null
條件運算符可以轉(zhuǎn)換為條件結(jié)構(gòu):
if(typeof a != "undefined"){ //賦值 a = a; }else{ //沒有賦值 a = 0; } console.log(a);
也可以轉(zhuǎn)換為邏輯表達式:
(typeof a != "undefined") && (a =a) || (a = 0); //邏輯表達式 console.log(a);
在上面表達式中,如果 a 已賦值,則執(zhí)行 (a = a) 表達式,執(zhí)行完畢就不再執(zhí)行邏輯或運算符后面的 (a = 0) 表達式;如果 a 未賦值,則不再執(zhí)行邏輯與運算符后面的 (a = a) 表達式,轉(zhuǎn)而執(zhí)行邏輯或運算符后面的表達式 (a = 0)。
注意:
在實戰(zhàn)中需要考慮假值的干擾。使用 typeof a != "undefined" 進行檢測,可以避開變量賦值為 false、null、""、NaN等假值時,也被誤認為沒有賦值。
【