一文帶你快速學會JavaScript條件判斷及高級用法
條件判斷常用
一、if/else語句
語句用于基于不同的條件來執(zhí)行不同的動作
代碼
if ('條件語句1') { // 如果 條件語句1 為 true 執(zhí)行該代碼塊 } else if ('條件語句2') { // 如果 條件語句1 為 false 且 條件語句2 為 true 執(zhí)行該代碼塊 } else { // 如果 條件語句1 為 false 且 條件語句2 為 false 執(zhí)行該代碼塊 }
當 if 語句后面只執(zhí)行一句代碼的時候,可以省略花括號。換句話說,如果 if 語句沒有花括號,則 if 語句只會考慮下一個語句
二、三元表達式
- 形式簡寫 ====》條件?真結(jié)果:假結(jié)果
- 等同于其====》 if(條件){真結(jié)果}else{假結(jié)果}
- 三元表達式語句表達更簡潔,但多條件會顯的冗余
var isShow = true; isShow ? console.log(isShow ):console.log(isShow ) // true
三元表達式在使用過程中不能使用break,continue等語句
三、或(||)與 (&&)語句
此用法高級而優(yōu)雅
1. ||(邏輯或)
- 短路表達式: 第一個為:true,則取第一個的值,如果第一個為false,則取第二個的值。
- 默認轉(zhuǎn)譯: 0 , ”“ , nul , false , undefined , NaN 都會判為false
console.log (2||1); //2 console.log ('a'||1);//'a' console.log (''||1); //1
2. &&(邏輯與)
短路表達式: 第一個為:true,則執(zhí)行&&后的語句,如果第一個為false,則執(zhí)行“&&”前面的值。
console.log (2 && 1); //1 console.log ('a' && 1);//1 console.log ('' && 1); // ''
四、switch/case語句
- 語句 只能有一個表達式(expression)
- 語句 case 后面只能是常量,不能是表達式,也就是說 switch 語句的判斷條件只能跟一個常量進行比較。
- 用break的作用就是跳出switch
// add_step 與 case設(shè)定的常量值進行比較賦值 var change_level = 0; switch(change_step){ case 5 : change_level = 1; break; case 10 : change_level = 2; break; case 12 : change_level = 3; break; case 15 : change_level = 4; break; default : change_level = 0; break; }
優(yōu)雅升級 A
此方法是利用對象屬性值的方式
var change_level={'5':1,'10':2,'12':3,'15':4}[change_step] || 0;
優(yōu)雅升級 B
此方法也可以按著數(shù)值區(qū)間進行判斷
var change_step = 15; var change_level = (change_step == 15 && 4) || (change_step == 12 && 3) || (change_step == 10 && 2) || (change_step == 5 && 1) || 0; console.log(change_level);
總結(jié)
執(zhí)行效率:
- switch case會生成一個跳轉(zhuǎn)表來指示實際的case分支的地址,應用多分分支條件中
- switch case 缺點只能處理字符或者數(shù)字類型的變量【可用以上升級方案】
- 而if…else卻需要遍歷條件分支直到命中條件,(可用于少量判斷條件)
到此這篇關(guān)于JavaScript條件判斷及高級用法的文章就介紹到這了,更多相關(guān)js條件判斷及高級用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js 中文漢字轉(zhuǎn)Unicode、Unicode轉(zhuǎn)中文漢字、ASCII轉(zhuǎn)換Unicode、Unicode轉(zhuǎn)換AS
這篇文章主要介紹了js 中文漢字轉(zhuǎn)Unicode、Unicode轉(zhuǎn)中文漢字、ASCII轉(zhuǎn)換Unicode、Unicode轉(zhuǎn)換ASCII、中文轉(zhuǎn)換XXX,需要的朋友可以參考下2016-12-12JavaScript控制輸入框中只能輸入中文、數(shù)字和英文的方法【基于正則實現(xiàn)】
這篇文章主要介紹了JavaScript控制輸入框中只能輸入中文、數(shù)字和英文的方法,基于正則驗證實現(xiàn)字符輸入限制功能,具有一定參考借鑒價值,需要的朋友可以參考下2017-03-03