可变条件未按预期声明

时间:2018-10-11 15:22:54

标签: javascript variables

我很可能缺少一些简单的信息,但是当我在console.log之前立即声明变量时,我不明白为什么它会在每个console.log中返回“ undefined”

            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 :(得分:4)

您正在执行===(比较),而不是=(分配)。使用后者。

答案 1 :(得分:2)

===用于检查等效性,请使用单个=分配变量。

例如:

timer = 1000;
console.log(timer);  //will print out 1000

答案 2 :(得分:0)

var timer;

您的变量已创建,但未关联任何值,因此未定义

timer === 1000;

此条件未定义=== 1000,如果为假

console.log(timer);

没有将值赋给计时器,因此它将显示未定义

实际上,如果在代码中用=(分配)替换===(严格比较),则console.log将在第一个日志中显示1000,在第二个日志中显示100

答案 3 :(得分:0)

您正在检查是否不分配值