在javascript中,三目運(yùn)算符沒(méi)有等號(hào),它是由一個(gè)問(wèn)號(hào)和一個(gè)冒號(hào)組成的,語(yǔ)法格式“條件表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2 ;”;如果“條件表達(dá)式”的結(jié)果為真(true),則執(zhí)行“表達(dá)式1”中的代碼,否則就執(zhí)行“表達(dá)式2”中的代碼。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
javascript中的三目運(yùn)算符
三目運(yùn)算符(也被稱(chēng)為三元運(yùn)算符、條件運(yùn)算符),由一個(gè)問(wèn)號(hào)和一個(gè)冒號(hào)組成,語(yǔ)法格式如下:
條件表達(dá)式 ? 表達(dá)式1 : 表達(dá)式2 ;
“條件表達(dá)式”必須是一個(gè)布爾型的表達(dá)式,而“表達(dá)式1” 和 “表達(dá)式2” 是任意類(lèi)型的值。
-
如果“條件表達(dá)式”的結(jié)果為真(true),則執(zhí)行“表達(dá)式1”中的代碼,并返回該表達(dá)式的值。
-
如果“條件表達(dá)式”的結(jié)果為假(false),則執(zhí)行“表達(dá)式2”中的代碼,并返回該表達(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)。
【推薦學(xué)習(xí):javascript高級(jí)教程】