【发布时间】:2020-10-14 02:54:00
【问题描述】:
function myFunc() {
if (1 == 1) {
console.log('1 == 1')
if (2 == 2) return
console.log('2 !== 2')
///other code
}
if (3 == 3) {
console.log('3 == 3')
}
}
myFunc()
对于这个函数,我想说的是“如果2 == 2,你可以提前退出当前的if块并返回到上一级。然后继续执行下一个块(if (3 == 3){...})。”但是return函数直接退出了整个函数。有没有办法做到这一点?
【问题讨论】:
-
1==1 将始终返回 true。您尝试执行的分支类型类似于使用 goto 和 label:,我强烈建议您不要这样做。行为和程序流程对于任何有点复杂的事情都很难推理。
-
这就是
return的定义,它从函数中返回。没有什么可以从if级别退出。 -
@TalmacelMarianSilviu
break仅用于循环,不适用于if。 -
if (2 !== 2) { /* other code */ }怎么样 -
@user120242 更不用说 JavaScript 没有
goto。
标签: javascript if-statement return