变量声明不正确?或不稳定的模数行为?

时间:2014-08-19 21:02:49

标签: javascript modulo

为什么在以下代码中,modB总是等于1?特别是考虑到b%2没有?

var b = 0;
var modB = 0;
function buttonState() {
            b++;
            modB = b % 2;
            if (modB = 1) {
                theButtonState = true;
            } else {
                theButtonState = false;
             }
             console.log(b%2);
             console.log(modB);
             console.log(theButtonState);
        }

1 个答案:

答案 0 :(得分:1)

更改以下代码行:

if (modB = 1)

if (modB == 1)

然后再次尝试运行该程序。

你也可以这样做(费利克斯解释):

theButtonState = modB == 1;

代码的简洁性极大地提高了它的可读性。