Я работаю над назначением, где логическое значение должно переключаться после того, как переменная соответствует значению в массиве. Переменная должна соответствовать значению в массиве, используя цикл 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);