js条件判断

简介: js条件判断

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...语句中,如果某个条件成立,则后续就不再继续判断了。

试解释为什么下面的代码显示的是teenager:


'use strict';
var age = 20;
相关文章
|
3月前
|
JavaScript 前端开发
JS循环for、for...of、for...in
本文介绍了JavaScript中不同的循环语句,包括传统的`for`循环、`for...of`循环用于遍历数组和类数组对象、`for...in`循环用于遍历对象的属性,并通过示例代码展示了它们的用法和区别。
52 6
JS循环for、for...of、for...in
|
2月前
|
JavaScript 前端开发
js循环有几种
js循环有几种
33 0
|
3月前
|
JavaScript 前端开发 索引
|
4月前
|
JavaScript
js流程控制语句
js流程控制语句
18 0
|
6月前
|
JavaScript 前端开发
JS循环语句以及一些小练习
JS循环语句以及一些小练习
32 1
|
7月前
|
JavaScript
Vue.js 条件语句
Vue.js 条件语句
|
7月前
|
JavaScript
js循环的几种方法
js循环的几种方法
34 2
|
JavaScript
js常用的循环语句有哪些?
js常用的循环语句有哪些?
|
JavaScript 前端开发
js条件语句
条件语句是通过判断指定表达式的值来决定执行还是跳过某些语句,最基本的条件语句: if…else if…else语句是一种最基本的控制语句,它让JavaScript可以有条件的执行语句。
|
JavaScript
JS——流程控制,函数,数组
JS——流程控制,函数,数组