Условная переменная не объявлена ​​должным образом - PullRequest
0 голосов
/ 11 октября 2018

Возможно, мне не хватает чего-то простого, но я не понимаю, почему в каждом файле console.log возвращается «undefined», когда я объявляю переменную непосредственно перед console.log

            var timer;
            var timerCalc = Math.random()*2000;

            if (timerCalc > 1000){
                timer === 1000;
                console.log(timer);
            } else if  (timerCalc < 100) {
                timer === 100;
                console.log(timer);
            } else {
                timer === timerCalc;
                console.log(timer + " = between 100 and 1000");
            }

Ответы [ 4 ]

0 голосов
/ 11 октября 2018

Вы проверяете равенство, не присваивая значение

0 голосов
/ 11 октября 2018

=== для проверки эквивалентности, используйте одиночный = для присвоения переменной.

Так, например:

timer = 1000;
console.log(timer);  //will print out 1000
0 голосов
/ 11 октября 2018
var timer;

ваша переменная создана, но никакое значение не связано, оно будет неопределенным

timer === 1000;

это условие не определено === 1000 с ложным значением

console.log(timer);

без значениязадается таймером, поэтому он будет показывать неопределенное

На самом деле, если вы замените === (строгое сравнение) на = (назначить) в своем коде, console.log покажет 1000 в первом журнале и 100 во втором

0 голосов
/ 11 октября 2018

Вы делаете === (сравнение) вместо = (назначение).Используйте последнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...