在jQuery中更改if-else语句中的变量时出现问题

在jQuery中更改if-else语句中的变量时出现问题,jquery,if-statement,Jquery,If Statement,我对这段代码有问题。所有内容都包装在$document.ready函数中。我的控制台日志在下面,出于某种原因,它一直进入语句的else部分,即使aoc变量为false。如果aoc=true,我也尝试过使用else,但同样的情况也会发生 var aoc = false; $("#aocBtn").click(function(e) { console.log(aoc); if (aoc = false) { $(this).removeClass("btn

我对这段代码有问题。所有内容都包装在$document.ready函数中。我的控制台日志在下面,出于某种原因,它一直进入语句的else部分,即使aoc变量为false。如果aoc=true,我也尝试过使用else,但同样的情况也会发生

    var aoc = false;

$("#aocBtn").click(function(e) {
    console.log(aoc);
    if (aoc = false) {
        $(this).removeClass("btn-outline-primary").addClass("btn-primary");
        aoc = true;
        console.log("Aoc was false and is now: "+aoc);
    } else {
        $(this).removeClass("btn-primary").addClass("btn-outline-primary");
        aoc = false;
        console.log("Aoc was true and is now: "+aoc);
    }
    e.preventDefault();
});  
if语句是赋值,而不是条件,因此它将false赋值给变量aoc。替换为==运算符,这是条件检查,代码应该可以正常运行

还有,你写信了吗

if(aoc = true)
而不是false,那么只有if部分在任何时候都可以工作。
希望这能有所帮助。

使用===或==进行比较,而不是=即aoc==false=用于赋值。使用==或===进行比较如果aoc=false{是赋值始终记住:=:赋值,==:比较值,==:比较值,包括其数据类型抱歉,伙计们,我一定是瞎了眼!
aoc ? $(this).removeClass("btn-outline-primary").addClass("btn-primary") : $(this).removeClass("btn-primary").addClass("btn-outline-primary");
aoc = !aoc;
aoc ? $(this).removeClass("btn-outline-primary").addClass("btn-primary") : $(this).removeClass("btn-primary").addClass("btn-outline-primary");
aoc = !aoc;