Я пытаюсь установить переменную изначально только в том случае, если она не была установлена. По какой-то причине логика, которую я использую для определения того, была ли установлена переменная, кажется, работает даже независимо от того, установлена ли переменная.Проверка того, что переменная установлена, не работает
Мой код
var l0 = -210;
function add(){
var lThis;
if (lThis == null){
lThis = l0;
console.log('set lThis to '+ lThis);
}
lThis ++;
}
var incrementInterval = setInterval(add, 33);
на консоли журналов "набор lThis к -210" каждый раз, когда проходит интервал, так что "если (lThis == NULL)", кажется, не будет ничего не делать
l Это имя переменной, локальное для функции добавления, и будет инициализироваться и/или повторно объявляться каждый раз при вызове функции. Чтобы избежать осложнений, вы также можете объявить lThis глобально. - И вы никогда не сравниваете литералы с нулевым значением, если только вы не аннулировали его дескриптор вручную и преднамеренно позже в коде, чтобы сбросить его значение. Даже тогда, сбрасывая переменную, которая должна нести буквальное значение, неверна. –