带锁的多个if语句

时间:2016-02-27 14:02:54

标签: javascript jquery

我有多个这样的if语句:

if (variable == something && lock01 == false)
{
  do your thing
  lock01=false; lock02=true; lock03=true; ....
}
else
{
  lock01=true; lock02=false; lock03=true;
}

这将锁定所有其他if语句,因此一次只有一个是活动的。这个问题是如果我添加更多if语句,我必须手动添加更多的锁。它也只能从上到下一个接一个地工作。有一个更好的方法吗?如果在Jquery中更容易,JQ代码也可以。

编辑:我忘了编写,我遍历if语句,一次只能解锁一个。

2 个答案:

答案 0 :(得分:4)

一种选择是使用一个变量来识别解锁的锁:

unlocked = "lock01";
// or
unlocked = 1;

然后你的代码看起来像这样:

if (variable == something && unlocked === 1) {
    // do your thing
} else {
    unlocked = 2;
}

答案 1 :(得分:0)

可能最好的办法是使用switch语句而不是" n" if / else语句。

所以你的代码看起来像:

switch(variable) {
    case 1:
        do your things here;
        break;
    case 2:
        do something else;
        break;
    case 3:
    case 4:
        when variable is 3 or 4 do the same code
        break;
    default:
        do something else;
        lock = false;
}

等等。 Switch语句适用于字符串或数字(据我所知),只需确保使用带字符串的引号(例如:case' something')。

如果您不想使用switch语句,请使用else / if:

if(variable == something) {
    do something;
}
else if(variable == something_else) {
    do something_else;
}
else {
    lock = false
}

这种方式只有第一个匹配"如果"将被执行。

相关问题