如何在JavaScript条件下实现elseif ?
当前回答
在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。
这是你使用它的风格和偏好的问题。
其他回答
你可以使用这个语法,它在功能上是等价的:
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。
在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指定要执行的代码块
如果相同条件为false,则使用else指定要执行的代码块
如果第一个条件为假,则使用else if指定要测试的新条件
只需要加一个空格:
if (...) {
} else if (...) {
} else {
}
实际上,从技术上讲,当缩进正确时,它将是:
if (condition) {
...
} else {
if (condition) {
...
} else {
...
}
}
严格地说,没有别的如果了。
(更新:当然,如上所述,上述内容并不被认为是好的风格。)
推荐文章
- Babel 6改变了它导出默认值的方式
- Python if not == vs if !=
- 如何配置历史记录?
- ES6模板文字可以在运行时被替换(或重用)吗?
- [Vue警告]:找不到元素
- 可以在setInterval()内部调用clearInterval()吗?
- AngularJS控制器的生命周期是什么?
- 无法读取未定义的属性“msie”- jQuery工具
- 我的蛋蛋怎么不见了?
- JavaScript中的排列?
- JavaScript中有睡眠/暂停/等待功能吗?
- 如何禁用文本选择使用jQuery?
- 如何停止事件冒泡复选框点击
- 向对象数组添加属性
- 如何在Redux应用程序中动态加载代码分割的减速器?