摘自《你不知道的 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 语法的范畴。
本文探讨了JavaScript中实际上并没有`elseif`这一概念,而是通过if和else的组合来实现类似的功能。作者指出,虽然`elseif`常被使用且看起来更简洁,但它并不符合标准语法,只是开发者的一种约定俗成。建议遵循代码检查工具的提示,即使在单条语句的情况下也使用代码块{}

被折叠的 条评论
为什么被折叠?



