條件判斷
JavaScript 使用if() {...} else {...}
進(jìn)行條件判斷做瞪。其中else
是可選的搁嗓。如果語句塊只包含一條語句芯勘,那么可以省略{}
例如:
var age = 20;
if (age >= 18) {
alert('adult');
} else {
alert('teenager');
}
省略{}
的危險在于,如果后來想添加一些語句腺逛,卻忘了{}
荷愕,就改變了if...else...
的語義,例如:
var age = 20;
if (age >= 18) {
alert('adult');
} else
console.log('age < 18');
alert('tennager'); // 這行語句已經(jīng)不在else的控制范圍內(nèi)了
相反的棍矛,有{}
的語句就不會出錯
var age = 20;
if (age >= 18) {
alert('adult');
} else {
console.log('age < 18');
alert('tennager');
}
多行條件判斷
如果還要更細(xì)致的判斷條件安疗,可以使用多個if...else...
的組合
var age = 3;
if (age >= 18) {
alert('adult');
} else if (age >= 6) {
alert('teenager');
} else {
alert('kid');
}
以上的多個if...else...
的組合實際上相當(dāng)于兩層if...else...
注意:if...else...
語句的執(zhí)行特點是二選一,在多個if...else...
語句中够委,如果某個條件成立荐类,則后續(xù)就不在繼續(xù)判斷了
var age = 1;
if (age >= 18) {
alert('adult');
} else {
if (age >= 6) {
alert('teenager');
} else {
alert('kid');
}
}
如果if的條件判斷語句結(jié)果不是true
或false
:
var s = '123';
if (s.length) { // 判斷條件結(jié)果為 3
//
}
JavaScript把null
、undefined
慨绳、0
掉冶、NaN
和空字符串''
視為false
,其他一般視為true
,因此脐雪,上述代碼條件為true
厌小。
筆記整理自廖雪峰JavaScript教程