JavaScript條件判斷_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
JavaScript使用if () { ... } else { ... }來(lái)進(jìn)行條件判斷。例如,根據(jù)年齡顯示不同內(nèi)容,可以用if語(yǔ)句實(shí)現(xiàn)如下:
var age = 20; if (age >= 18) { // 如果age >= 18為true,則執(zhí)行if語(yǔ)句塊 alert('adult'); } else { // 否則執(zhí)行else語(yǔ)句塊 alert('teenager'); }
其中else語(yǔ)句是可選的。如果語(yǔ)句塊只包含一條語(yǔ)句,那么可以省略{}:
var age = 20; if (age >= 18) alert('adult'); else alert('teenager');
省略{}的危險(xiǎn)之處在于,如果后來(lái)想添加一些語(yǔ)句,卻忘了寫{},就改變了if...else...的語(yǔ)義,例如:
var age = 20; if (age >= 18) alert('adult'); else console.log('age < 18'); // 添加一行日志 alert('teenager'); // <- 這行語(yǔ)句已經(jīng)不在else的控制范圍了
上述代碼的else子句實(shí)際上只負(fù)責(zé)執(zhí)行console.log('age < 18')
;,原有的alert('teenager');已經(jīng)不屬于if...else...的控制范圍了,它每次都會(huì)執(zhí)行。
相反地,有{}的語(yǔ)句就不會(huì)出錯(cuò):
var age = 20; if (age >= 18) { alert('adult'); } else { console.log('age < 18'); alert('teenager'); }
這就是為什么我們建議永遠(yuǎn)都要寫上{}。
多行條件判斷
如果還要更細(xì)致地判斷條件,可以使用多個(gè)if...else...的組合:
var age = 3; if (age >= 18) { alert('adult'); } else if (age >= 6) { alert('teenager'); } else { alert('kid'); }
上述多個(gè)if...else...的組合實(shí)際上相當(dāng)于兩層if...else...:
var age = 3; if (age >= 18) { alert('adult'); } else { if (age >= 6) { alert('teenager'); } else { alert('kid'); } }
但是我們通常把else if連寫在一起,來(lái)增加可讀性。這里的else略掉了{(lán)}是沒(méi)有問(wèn)題的,因?yàn)樗话粋€(gè)if語(yǔ)句。注意最后一個(gè)單獨(dú)的else不要略掉{}。
請(qǐng)注意,if...else...語(yǔ)句的執(zhí)行特點(diǎn)是二選一,在多個(gè)if...else...語(yǔ)句中,如果某個(gè)條件成立,則后續(xù)就不再繼續(xù)判斷了。
相關(guān)文章
???????分享7?個(gè)實(shí)用?TypeScript?單行代碼
這篇文章主要介紹了???????分享7?個(gè)實(shí)用?TypeScript?單行代碼,其中包括泛型、斷言等高級(jí)用法,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-05-05通過(guò)JavaScript實(shí)現(xiàn)撲克牌游戲的示例代碼
這篇文章主要為大家詳細(xì)介紹了JavaScript如何通過(guò)面向?qū)ο髮?shí)現(xiàn)一個(gè)簡(jiǎn)單的撲克牌游戲,文中的示例代碼代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下2022-07-07JavaScript中使用Async實(shí)現(xiàn)異步控制
async提供了很多函數(shù)用于異步流程控制,下面是async核心的幾個(gè)函數(shù),大家通過(guò)本文學(xué)習(xí)下,對(duì)使用async 實(shí)現(xiàn)異步控制相關(guān)知識(shí),感興趣的朋友一起看看吧2017-08-08window.print()打印html網(wǎng)頁(yè)的兩種方法實(shí)現(xiàn)
本文主要介紹了window.print()打印html網(wǎng)頁(yè)的兩種方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06javaScript中一些常見的數(shù)據(jù)類型檢查校驗(yàn)
最近在面試的時(shí)候又被問(wèn)到JS中檢查校驗(yàn)數(shù)據(jù)類型的方法,所以這篇文章主要給大家介紹了關(guān)于javaScript中一些常見的數(shù)據(jù)類型檢查校驗(yàn)的相關(guān)資料,需要的朋友可以參考下2022-05-05使用JavaScript實(shí)現(xiàn)小球按照貝塞爾曲線運(yùn)動(dòng)
要在 JavaScript 中實(shí)現(xiàn)一個(gè)按照貝塞爾曲線運(yùn)動(dòng)的小球,關(guān)鍵是要掌握貝塞爾公式的基本原理和實(shí)現(xiàn)方式,以及使用 JavaScript 處理動(dòng)畫和物理運(yùn)算,感興趣的小伙伴跟著小編一起來(lái)看看吧2024-10-10PNGHandler-借助JS讓PNG圖在IE下實(shí)現(xiàn)透明(包括背景圖)
PNGHandler-借助JS讓PNG圖在IE下實(shí)現(xiàn)透明(包括背景圖)...2007-08-08