Javascript 在两种颜色之间切换不起作用

Javascript 在两种颜色之间切换不起作用,javascript,if-statement,setinterval,Javascript,If Statement,Setinterval,我在这里遗漏了什么,所以我的页面在这两种颜色之间切换?谢谢大家! var body = document.querySelector("body"); var isBlue = false; setInterval(function(){ if(isBlue){ body.style.background = "green"; } else { body.style.background = "white" } },1000); 您永远

我在这里遗漏了什么,所以我的页面在这两种颜色之间切换?谢谢大家!

var body = document.querySelector("body");
var isBlue = false;

setInterval(function(){
    if(isBlue){
        body.style.background = "green";
    } else {
        body.style.background = "white"
    }
},1000);

您永远不会更改
isBlue
的值,因此它总是
false
,因此您总是将
white
设置为背景色

if
/
else
之后,反转标志:

isBlue = !isBlue;
例如:



旁注:“isBlue”对于设置绿色背景的旗帜来说似乎是个奇怪的名字…;-)(虽然公平地说,据我所知,在某些文化中蓝色和绿色没有区别。)

但如果不是蓝色,它会设置一个白色背景,因此我猜一半的逻辑是正确的:D为混淆感到抱歉,我在玩它,在某一点上改变了原来蓝色的颜色,并忘记了它:)。谢谢你的解释!
setInterval(function(){
    if(isBlue){
        body.style.background = "green";
    } else {
        body.style.background = "white"
    }
    isBlue = !isBlue;
},1000);