【JavaScript复习二】选择结构if和Switch

欢迎来到JS复习专栏,本文章的主要内容为选择语句if和Switch

流程控制语句

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

流程控制语句分类

  • 顺序结构

  • 选择结构:if 语句、switch 语句

  • 循环结构:while 语句、for 语句

if语句

1、条件判断语句

条件成立才执行。如果条件不成立,那就什么都不做。

格式:

if (条件表达式) {
    
    
    // 条件为真时,做的事情
}

2、单分支条件分支语句

if (条件表达式) {
    
    
   // 条件为真时,做的事情
} else {
    
    
   // 条件为假时,做的事情
}

2,、多分支的 if 语句

if (条件表达式1) {
    
    
    // 条件1为真时,做的事情
} else if (条件表达式2) {
    
    
    // 条件1不满足,条件2满足时,做的事情
} else if (条件表达式3) {
    
    
    // 条件1、2不满足,条件3满足时,做的事情
} else {
    
    
    // 条件1、2、3都不满足时,做的事情
}

以上所有的语句体中,只执行其中一个。

Switch语句

语法格式

switch(表达式) {
    
    
	case1:
		语句体1;
		break;

	case2:
		语句体2;
		break;

	...
	...

	default:
		语句体 n+1;
		break;
}

解释: switch 可以理解为“开关、转换” 。case 可以理解为“案例、选项”。

switch 和 case 后面的值:

switch 后面的括号里可以是表达式或者值, 通常是一个变量(通常做法是:先把表达式或者值存放到变量中)。

JS 是属于弱类型语言,case 后面的值1、值2可以是 ‘a’、6、true 等任意数据类型的值,也可以是表达式。注意,在这里,字符串’6’和 数字 6 是不一样的。

case 穿透:

switch 语句中的break可以省略,但一般不建议(对于新手而言)。否则结果可能不是你想要的,会出现一个现象:case 穿透。

当然,如果你能利用好 case 穿透,会让代码写得十分优雅。

也就是当式子满足某个case的值时,执行该case里面的代码,如果其中没有break,将不会跳出switch,而是继续执行下一个case代码,直到遇到breakordefault

用 return 代替 if else

业务场景:

我们在实战业务中涉及到调接口时,一般会这样做:

  • 接口返回码为 0 时,前端 resolve。

  • 接口返回未登录时,前端跳转到登录页面。

  • 接口返回其他情况,或者无返回时,前端 reject。

写法 :

  1. if else 的写法:(不推荐)
if (res) {
    
    
    if (+res.retCode == 0) {
    
    
        resolve(res);
    } else if (+res.retCode == 8888) {
    
    
        goLogin();
    } else {
    
    
        reject(res);
    }
} else {
    
    
    reject();
}
  1. return 的写法:(推荐)
if (!res || +res.retCode !== 0) {
    
    
    if (+res.retCode === 8888) {
    
    
        // 未登录
        goLogin();
    }
    reject(res);
    return;
}
resolve(res.data);

备注:如果你没学过 Promise,这个例子可以先不看。等以后学了 Promise 再回来看就很容易明白了。

猜你喜欢

转载自blog.csdn.net/weixin_62542181/article/details/126042975