我有多个这样的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语句,一次只能解锁一个。
答案 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
}
这种方式只有第一个匹配"如果"将被执行。