如何在JavaScript条件下实现elseif ?
当前回答
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')
其他回答
只需要加一个空格:
if (...) {
} else if (...) {
} else {
}
你可以使用这个语法,它在功能上是等价的:
switch (true) {
case condition1:
//e.g. if (condition1 === true)
break;
case condition2:
//e.g. elseif (condition2 === true)
break;
default:
//e.g. else
}
这是可行的,因为每个条件在与开关值比较之前都被完全计算,所以第一个计算为true的条件将匹配,它的分支将执行。如果您记得使用break,则后续分支将不会执行。
注意,这里使用了严格比较,因此条件仅仅为“真”的分支将不会被执行。你可以用双重否定:!!条件将true值转换为true。
你在else和if之间漏了一个空格
它应该是elseif而不是elseif
if(condition)
{
}
else if(condition)
{
}
else
{
}
在JavaScript的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
}
简单,利用空间
推荐文章
- 什么时候JavaScript是同步的?
- 如何在Typescript中解析JSON字符串
- Javascript reduce()在对象
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- Java字符串—查看字符串是否只包含数字而不包含字母
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?