什么是正确/干净的开关(或一般的功能)控制流程?

问题描述 投票:-1回答:1

我偶然发现了我的switch语句中的一个错误(两个案例),其中两个案例都运行,因为前者使后者成立。我找到了两个解决方案,但我不知道应该使用哪个解决方案,或者我应该将两者结合起来。

我最初的想法只是在每个案例结束时添加休息时间。但我的同事建议我交换订单,因为后者不能以这种方式干扰前者。也许我应该两个都做?我认为休息一目了然,但交换它们很优雅。您希望从同事那里看到什么?

**---OPTION 1---**
var created = false;
function clicker(){
    switch(created){
        case false:
            **some code**
            created = true;
            break;
        case true:
            **some code**
            break;
    }
}

**---OPTION 2---**
var created = false;
function clicker(){
    switch(created){
        case true:
            **some code**
        case false:
            **some code**
            created = true;
    }
}

最初,我运行选项1,但没有休息。案例“false”将运行,使案例“true”= true,然后案例“true”将运行。

这两个选项都解决了这个问题。哪个更好?你有更好的解决方案吗?

javascript switch-statement
1个回答
0
投票

只需使用if声明:

function clicker() {
    if (created) {
        //Some code
    } else {
        //Some code
        created = true;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.