Answers:
JavaScript的elseif格式为“ else if”,例如:
if (condition) {
} else if (other_condition) {
} else {
}
elseif
,perl elsif
(我认为)和Python已经elif
..这种情况一开始让我很烦,但是...我想这有点可爱。不过,它在Python和PHP中确实有一点用处,因为否则它们将无法使用冒号语法。
您可以使用以下功能上等效的语法:
switch (true) {
case condition1:
//e.g. if (condition1 === true)
break;
case condition2:
//e.g. elseif (condition2 === true)
break;
default:
//e.g. else
}
之所以可行,condition
是因为在与该switch
值进行比较之前已对每个值进行了完全评估,因此第一个被评估为的值true
将匹配并且其分支将执行。只要您记得使用break
,后续分支将不会执行。
请注意,由于使用了严格的比较,因此不会执行condition
仅“真实” 的分支。您可以使用双重否定为赋予真实价值:。true
!!condition
switch (true)
甚至没有任何意义。
true
条件满足,则将满足该条件-完全一样else if
。
实际上,从技术上讲,如果缩进正确,它将是:
if (condition) {
...
} else {
if (condition) {
...
} else {
...
}
}
没有 else if
严格来讲,。
(更新:当然,如前所述,上面的样式不被认为是好的样式。)
if (condition1) { ... } else if (condition2) { ... } else { ... }
。
else { if ... }
良好风格的错误印象。
if
和else
真的没有必要elseif
。