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



我在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"将运行。

这两个选项都可以修复它。哪个更好?您有更好的解决方案吗?

只需使用 if 语句:

function clicker() {
    if (created) {
        //Some code
    } else {
        //Some code
        created = true;
    }
}

最新更新