您的位置:首页 > Web前端 > JavaScript

JavaScript-快速入门(七)条件判断

2018-03-22 23:52 459 查看
原文出处 :https://www.liaoxuefeng.com/
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');
}
这就是为什么我们建议永远都要写上
{}

多行条件判断

如果还要更细致地判断条件,可以使用多个
if...else...
的组合:
var age = 3;
if (age >= 18) {
alert('adult');
} else if (age >= 6) {
alert('teenager');
} else {
alert('kid');
}
上述多个
if...else...
的组合实际上相当于两层
if...else...
var age = 3;
if (age >= 18) {
alert('adult');
} else {
if (age >= 6) {
alert('teenager');
} else {
alert('kid');
}
}
但是我们通常把
else if
连写在一起,来增加可读性。这里的
else
略掉了
{}
是没有问题的,因为它只包含一个
if
语句。注意最后一个单独的
else
不要略掉
{}
。请注意,
if...else...
语句的执行特点是二选一,在多个
if...else...
语句中,如果某个条件成立,则后续就不再继续判断了。
如果
if
的条件判断语句结果不是
true
false
怎么办?例如:
var s = '123';
if (s.length) { // 条件计算结果为3
//
}
JavaScript把
null
undefined
0
NaN
和空字符串
''
视为
false
,其他值一概视为
true
,因此上述代码条件判断的结果是
true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息