条件判断
JavaScript 使用if() {...} else {...}
进行条件判断。其中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'); // 这行语句已经不在else的控制范围内了
相反的,有{}
的语句就不会出错
var age = 20;
if (age >= 18) {
alert('adult');
} else {
console.log('age < 18');
alert('tennager');
}
多行条件判断
如果还要更细致的判断条件,可以使用多个if...else...
的组合
var age = 3;
if (age >= 18) {
alert('adult');
} else if (age >= 6) {
alert('teenager');
} else {
alert('kid');
}
以上的多个if...else...
的组合实际上相当于两层if...else...
注意:if...else...
语句的执行特点是二选一,在多个if...else...
语句中,如果某个条件成立,则后续就不在继续判断了
var age = 1;
if (age >= 18) {
alert('adult');
} else {
if (age >= 6) {
alert('teenager');
} else {
alert('kid');
}
}
如果if的条件判断语句结果不是true
或false
:
var s = '123';
if (s.length) { // 判断条件结果为 3
//
}
JavaScript把null
、undefined
、0
、NaN
和空字符串''
视为false
,其他一般视为true
,因此,上述代码条件为true
。
笔记整理自廖雪峰JavaScript教程