YDNJS - JavaScript 语法中没有 else if

摘自《你不知道的 JavaScript》,原文简单易懂,我就直接 Copy 了。

else if 和 可选代码块

很多人误以为 JavaScript 中有 else if,因为我们可以这样来写代码:

if (a) {
  // ...
} else if (b) {
  // ...
} else {
  // ...
}

事实上 JavaScript 没有 else if,但 if 和 else 只包含单条语句的时候可以省略代码块的 { }。下面的代码你一定不会陌生:

if (a) doSomething(a);

很多 JavaScript 代码检查工具建议对单条语句也应该加上 { },如:

if (a) { doSomething(a); }

else 也是如此,所以我们经常用到的 else if 实际上是这样的:

if (a) {
  // ...
} else {
  if (b) {
    // ...
  } else {
    // ...
  }
}

if(b){...}else{...}实际上是跟在 else 后面的一个单独的语句,所以带不带 { } 都可以。换句话说,else if 不符合前面介绍的编码规范,else 中式一个单独的 if 语句。

else if 极为常见,能省掉一层代码缩进,所以很受青睐。但这只是我们自己发明的用法,切勿想当然的认为这些都属于 JavaScript 语法的范畴。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值