一个if语句可以多次执行吗?
Can there be multiple executions for an if statement?
本质上,我想拥有它以便
if(condition) {"do this" || "do that"};
具体来说,如果将特定 div 设置为特定颜色(从数组中随机选取),那么其他 4 个 div 中的 1 个会更改其颜色到特定颜色。
谢谢!
编辑:
我想我更想知道我是否可以随机化 'then' 语句。我正在制作游戏,所以我想避免选择我想要获得新颜色的 4 div 中的哪一个(这意味着每个实例每次都编写相同的脚本)
一条if语句可以执行多次。随心所欲。
您可以做的是在那个 if 语句中使用多个 if 来 select 正确的 div 或改用开关。例如:
var array = [3, 4, 1, 2];
注意
有时我所做的是在随机选择
之前打乱数组,混合索引
var my_array = array.sort(); // This will change your array, for example, from [3, 4, 1, 2] to [1, 2, 3, 4].
or
var my_array = array.reverse(); // This will change your array, for example, from [3, 4, 1, 2] to [4, 3, 2, 1].
var random_condition = Math.floor((Math.random() * 3)); // select at random from 0 to 3 because the array is ZERO based
然后你做你的logc:
if(condition) {
if (random_condition == 1 ) {
"do this" with div 1 // array [0] == 1
}
else if (random_condition == 2 ) {
"do this" with div 2 // array [1] == 2
}
else if (random_condition == 3 ) {
"do that" with div 3 // array [2] == 3
}
else if (random_condition == 4 ) {
"do that" with div 4 // array [3] == 4
}
}
或者使用开关
if(condition) {
switch (random_condition) {
CASE '1':
"do this" with div 1 // array [0] == 1
break;
CASE '2':
"do this" with div 2 // array [1] == 2
break;
CASE '3':
"do this" with div 3 // array [2] == 3
break;
CASE '':
"do this" with div 4 // array [3] == 4
break;
default
// do nothing
break;
}
}
可以在一个块中做几件事(被{
和}
包围),但只是
if(condition) {
console.log("either do this");
console.log("and do that");
} else {
console.log("or do this");
console.log("and this as well");
}
或者'||'就像在shell 脚本未在此处使用 javascript。
else 部分可以再次拆分,例如
if (c1) {
} elseif (c2) {
} else {
}
还有这个 elseif 你可以根据需要重复任意多个条件。
你也可以掷骰子:
function dice() {
return Math.floor(Math.random() * 6 + 1);
}
然后对编号正确的元素做某事:
getElementById("div"+dice()).innerHtml = "changed";
本质上,我想拥有它以便
if(condition) {"do this" || "do that"};
具体来说,如果将特定 div 设置为特定颜色(从数组中随机选取),那么其他 4 个 div 中的 1 个会更改其颜色到特定颜色。
谢谢!
编辑: 我想我更想知道我是否可以随机化 'then' 语句。我正在制作游戏,所以我想避免选择我想要获得新颜色的 4 div 中的哪一个(这意味着每个实例每次都编写相同的脚本)
一条if语句可以执行多次。随心所欲。 您可以做的是在那个 if 语句中使用多个 if 来 select 正确的 div 或改用开关。例如:
var array = [3, 4, 1, 2];
注意 有时我所做的是在随机选择
之前打乱数组,混合索引var my_array = array.sort(); // This will change your array, for example, from [3, 4, 1, 2] to [1, 2, 3, 4].
or
var my_array = array.reverse(); // This will change your array, for example, from [3, 4, 1, 2] to [4, 3, 2, 1].
var random_condition = Math.floor((Math.random() * 3)); // select at random from 0 to 3 because the array is ZERO based
然后你做你的logc:
if(condition) {
if (random_condition == 1 ) {
"do this" with div 1 // array [0] == 1
}
else if (random_condition == 2 ) {
"do this" with div 2 // array [1] == 2
}
else if (random_condition == 3 ) {
"do that" with div 3 // array [2] == 3
}
else if (random_condition == 4 ) {
"do that" with div 4 // array [3] == 4
}
}
或者使用开关
if(condition) {
switch (random_condition) {
CASE '1':
"do this" with div 1 // array [0] == 1
break;
CASE '2':
"do this" with div 2 // array [1] == 2
break;
CASE '3':
"do this" with div 3 // array [2] == 3
break;
CASE '':
"do this" with div 4 // array [3] == 4
break;
default
// do nothing
break;
}
}
可以在一个块中做几件事(被{
和}
包围),但只是
if(condition) {
console.log("either do this");
console.log("and do that");
} else {
console.log("or do this");
console.log("and this as well");
}
或者'||'就像在shell 脚本未在此处使用 javascript。
else 部分可以再次拆分,例如
if (c1) {
} elseif (c2) {
} else {
}
还有这个 elseif 你可以根据需要重复任意多个条件。
你也可以掷骰子:
function dice() {
return Math.floor(Math.random() * 6 + 1);
}
然后对编号正确的元素做某事:
getElementById("div"+dice()).innerHtml = "changed";