条件判断
JavaScript使用 if () { … } else { … } 来进行条件判断。例如,根据年龄显示不同内容,可以用 if 语句实现如下:
var age = 20;
if (age >= 18) { // 如果age >= 18为true,则执行if语句块
alert('adult');
} else { // 否则执行else语句块
alert('teenager');
}
其中 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('teenager'); // <- 这行语句已经不在else的控制范围了
上述代码的 else 子句实际上只负责执行 console.log('age < 18'); ,原有的 alert('teenager'); 已经不属于 if…else… 的控制范围了,它每次都会执行。
相反地,有 {} 的语句就不会出错:
var age = 20;
if (age >= 18) {
alert('adult');
} else {
console.log('age < 18');
alert('teenager');
}
这就是为什么我们建议永远都要写上 {} 。