### []( )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(表达式) {

case 值1:

	语句体1;

	break;



case 值2:

	语句体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`代码,直到遇到`break`or`default`  

  



### []( )用 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();

}




2.  return 的写法:(推荐)



if (!res || +res.retCode !== 0) {

if (+res.retCode === 8888) {

    // 未登录

    goLogin();

}

reject(res);

return;

}

最后

我可以将最近整理的前端面试题分享出来,其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器、数据结构与算法等等,还在持续整理更新中,希望大家都能找到心仪的工作。

篇幅有限,仅展示部分截图:

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部