我正在处理一个在变量与数组中的值匹配后必须切换布尔值的赋值。该变量必须使用for循环与数组中的值匹配。但是,我可以在引入for循环之前切换布尔值。但是在我引入for循环之后,布尔值被固定在其原始值false.
有人可以解释为什么会这样吗?
我也可以要求吗,我不是在寻找“如何做到这一点”,而是在寻找为什么会发生这种情况的解释-因此,如果您不向我推荐实现此目标的“另一种更好的方法”,我将不胜感激-我只是想了解这个概念,因为我是初学者。
我在for循环之前使用的代码(正确更改布尔值)是:
var c = 3;
var w = [];
var m = false;
w.push(3,4);
if (c === w[0]){
m = true;
}
alert (m);
但是,在我添加for循环计数器并将if条件从更改c===w[0]为c===w[i]之后,我只使用以下代码获得“错误”警报:
var c = 3;
var w = [];
var m = false;
w.push(3,4);
for (i=0; i<2 && c!==w[i]; i++){
if (c === w[i]){
m = true;
}
}
alert (m);