为什么在以下代码中,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);
        }

最佳答案

更改以下代码行:

if (modB = 1)




if (modB == 1)


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

您也可以这样进行操作(Felix解释):

theButtonState = modB == 1;


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

关于javascript - 错误的变量声明?还是模数行为不稳定?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25392909/

10-13 09:29