Skip to content

Latest commit

 

History

History
131 lines (92 loc) · 3.56 KB

introducing-else-and-else-if-statements.md

File metadata and controls

131 lines (92 loc) · 3.56 KB
id 5fd1b3ebf3b42a54564b29e3
challengeType 1
videoUrl
forumTopicId -1
title else 和 else if 语句介绍

Description

![](https://www.icoderoad.com/javascript/basic-javascript/images/jsdata.png)

欢迎关注路条编程网站,本专题主要介绍 JavaScript 基本语法、注释、变量声名、各种运算符、字符串、数组及条件语句等。通过学习 JavaScript 算法及数据结构这一系列文章,你将会逐步掌握 JavaScript 基础相关的知识。

else 和 else if 语句介绍。

前面文章中我们介绍过 if 条件语句,当 if 语句的条件为真时,执行大括号里的代码,那如果条件为假呢?正常情况下什么也不会发生。使用 else 语句,可以执行当条件为假时相应的代码。示例代码如下所示

function checkIfAdult( age ){ if (age >= 18) { return "已成年"; } else { return "未成年"; } }

console.log( checkIfAdult(8) ); // => 未成年 console.log( checkIfAdult(18) ); // => 已成年

以上代码定义了根据年龄参数判断是否成年的函数 checkIfAdult, 通过设置参数为 8, 18 调用函数 checkIfAdult, 在控制台打印相应状态。 参数为 8 时,控制台输出未成功, 参数为 18 时, 控制台输出已成年。

如果你有多个条件语句,你可以通过 else if 语句联合 if 语句一起使用。

语法如下所示:

if (条件1) 语句1 else if (条件2) 语句1 else if (条件3) 语句1 ... else 语句N

假如我们要实现一个通过一个标识参数 status 的不同值获取用户状态描述的函数 getUserStatus, 通过 if 和 else if 语句实现代码如下所示:

function getUserStatus ( status ){ if( status ==='normal' ){ return "正常"; }else if( status ==='unactive' ){ return "未激活"; }else if( status ==='locked' ){ return "锁定"; }else if( status ==='del' ){ return "删除"; }else{ return "未知"; } }

console.log( getUserStatus( 'normal' ) ); // => 正常 console.log( getUserStatus( 'del' ) ); // => 删除

以上代码实现的是通过 status 参数值,返回中文描述的函数 getUserStatus, 如果不能满足所有if 和 else if 条件,返回未知状态。

if、else if 语句中代码的执行顺序是很重要的,上面示例的代码与代码顺序关系不大。有些情况下,在条件语句中,代码的执行结果与输写代码的顺序有很大关系。条件语句代码的执行顺序是从上到下,所以你需要考虑清楚先执行哪一句,后执行哪一句,这有两个例子,大家可以比较下程序的输出结果区别。

第一个例子:

function checkNum(num) { if (num < 1) { return "小于1"; } else if (num < 2) { return "小于2"; } else { return "大于或等于2"; } }

第二个例子更改了代码的执行顺序:

function checkNum2(num) { if (num < 2) { return "小于2"; } else if (num < 1) { return "小于1"; } else { return "大于或等于2"; } }

这两个函数看起来几乎一模一样,我们传一个值进去看看它们有什么区别。在控制台调用两个函数,参数值都传 0, 大家可以比较下执行结果。

console.log( checkNum(0) ); // => 小于1 console.log( checkNum2(0) ); // => 小于2

Instructions

Tests

Challenge Seed

Solution