在javascript中,三目運算符沒有等號,它是由一個問號和一個冒號組成的,語法格式“條件表達式 ? 表達式1 : 表達式2 ;”;如果“條件表達式”的結(jié)果為真(true),則執(zhí)行“表達式1”中的代碼,否則就執(zhí)行“表達式2”中的代碼。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
javascript中的三目運算符
三目運算符(也被稱為三元運算符、條件運算符),由一個問號和一個冒號組成,語法格式如下:
條件表達式 ? 表達式1 : 表達式2 ;
“條件表達式”必須是一個布爾型的表達式,而“表達式1” 和 “表達式2” 是任意類型的值。
-
如果“條件表達式”的結(jié)果為真(true),則執(zhí)行“表達式1”中的代碼,并返回該表達式的值。
-
如果“條件表達式”的結(jié)果為假(false),則執(zhí)行“表達式2”中的代碼,并返回該表達式的值。
示例:
定義變量 a,然后檢測 a 是否被賦值,如果賦值則使用該值;否則設置默認值。
var a = null; //定義變量a typeof a != "undefined" ? a = a : a = 0; //檢測變量a是否賦值,否則設置默認值 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)。
【推薦學習:javascript高級教程】