if( 條件 ){ //代碼塊 }else { //代碼塊 }
對(duì)于一個(gè)執(zhí)行不同的代碼來(lái)說(shuō),如果執(zhí)行的代碼很多,可能就有必要使用上面這種方式
但往往我們開(kāi)發(fā)當(dāng)中,也會(huì)碰到一些賦值操作,如果使用上面方式,未免顯得太過(guò)冗余。
舉個(gè)例子:
num1 = 10 num2 = 20
可以看見(jiàn)以上方式,只是輸出一個(gè)結(jié)果,卻用了五行代碼來(lái)去實(shí)現(xiàn)。
接下來(lái),我們見(jiàn)證下怎么使用一行代碼去替代上面五行代碼實(shí)現(xiàn)的結(jié)果
var num1 = 10; var num2 = 20; // 第一種方式 也可以使用 三目運(yùn)算符 alert( num2 > mum1 ? num2 : num1 ); //第二種方式 就是使用 && ,|| alert( num2 > num1 && num2 || num1 );
使用 &&,|| 比三目運(yùn)算的優(yōu)勢(shì)在于,它可以判斷多個(gè)條件,也可以單獨(dú)使用
舉個(gè) && 例子:
var num1 = 10;var num2 = 5;// 假如 num1,num2 都大于10 則
我們開(kāi)發(fā)知道,在開(kāi)發(fā)當(dāng)中,讀取后端返回的數(shù)據(jù)可能因某種原因而未讀取到,那么接收的數(shù)據(jù)如果是對(duì)象,都會(huì)在接收該字段的時(shí)候額外加上沒(méi)有獲取到時(shí)的字段
舉個(gè) || 例子:
var reuslt = res && res.data || []; if ( result.length ) return;
使用這種方式,可以通過(guò)條件判斷是否使用該變量,假如是對(duì)象,如果沒(méi)有獲取到,而使用該對(duì)象屬性,則會(huì)報(bào)錯(cuò)。
而避免這種模式,就是在使用的時(shí)候,一定要判斷,判斷,判斷
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com