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