如何在JavaScript条件下实现elseif ?
只需要加一个空格:
if (...) { } else if (...) { } else { }
在JavaScript的if-then-else中,技术上没有elseif分支。
if-then-else
elseif
但如果你这样写的话,它是可行的:
if (condition) { } else if (other_condition) { } else { }
为了更明显地说明实际发生了什么,你可以使用额外的一对{和}扩展上面的代码:
{
}
if (condition) { } else { if (other_condition) { } else { } }
在第一个例子中,我们使用了一些关于{}使用的隐式JS行为。如果里面只有一条语句,我们可以省略这些花括号。在这个构造中就是这样,因为内部的if-then-else只算作一条语句。事实上,这是两个嵌套的if语句。而不是一个带有两个分支的if语句,就像第一眼看到的那样。
{}
这样它就类似于其他语言中的elseif。
这是你使用它的风格和偏好的问题。
if ( 100 < 500 ) { //any action } else if ( 100 > 500 ){ //any another action }
简单,利用空间
实际上,从技术上讲当缩进正确时,它将是:
if (condition) { ... } else { if (condition) { ... } else { ... } }
严格地说,没有else if。
else if
(更新:当然,如上所述,上面的不被认为是良好的风格。)
你可以使用这个语法,它在功能上是等价的:
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
switch
true
break
注意,使用了严格的比较,因此condition仅为“true”的分支将执行不。你可以用双重否定将真值转换为true: !!condition。
!!condition
条件语句用于根据不同的条件执行不同的操作。
如果指定的条件为真,则使用if指定要执行的代码块
if
如果相同条件为假,则使用else指定要执行的代码块
else
如果第一个条件为假,则使用else if指定要测试的新条件
你在else和if之间缺少一个空格
它应该是else if而不是elseif
if(condition) { } else if(condition) { } else { }
x = 10; if(x > 100 ) console.log('over 100') else if (x > 90 ) console.log('over 90') else if (x > 50 ) console.log('over 50') else if (x > 9 ) console.log('over 9') else console.log('lower 9')