Javascript 单击颜色更改-布尔值

Javascript 单击颜色更改-布尔值,javascript,Javascript,为什么第一次单击必须等于false。如果我将其切换为true,它将不起作用。 为什么当我单击时,它会首先转到else语句,甚至当我尝试使用click=时,它也会变成黄色!单击末尾。 不给点击赋予一个值可以吗 var button = document.querySelector("button"); var click; button.addEventListener("click", function() { if (click){

为什么第一次单击必须等于false。如果我将其切换为true,它将不起作用。 为什么当我单击时,它会首先转到else语句,甚至当我尝试使用click=时,它也会变成黄色!单击末尾。 不给点击赋予一个值可以吗

     var button = document.querySelector("button");
     var click;

     button.addEventListener("click", function() {
      if (click){
        document.body.style.backgroundColor = "pink";
        click=false;
      }else {
    document.body.style.backgroundColor = "yellow";
    click=true;
      }


    });

在css中设置不需要单击的黄色。 按以下方式单击按钮时,将颜色更改为粉红色

  body {
  background-color: yellow;
}

<button onclick="document.body.style.backgroundColor = 'pink';">Change Color</button>
正文{
背景颜色:黄色;
}
变色

我希望您正在这样做

一些数据类型的初始值:

int => 0
string => null
boolean => false
这就是为什么在JavaScript中声明变量并用作布尔值时,它将返回
false

var b;//初始值为false
if(b){//if(false)=>…转到else块
console.log(true);
}否则{
console.log(false);

}
因为您尚未初始化单击的值。因此,click的值是未定义的。那么,为什么(单击)为false,执行将转到else块呢。您在else块中声明了click=true,那么为什么它会在第二次单击时执行if(click)。

我的问题是为什么click=false必须首先出现在if-else语句中,为什么不单击=true。一旦我切换它们,它就不起作用了,因为您已经将click视为变量,并且还使用eventlistener click.so为var click指定一些值,可以是true,也可以是false。var click=true或var click=false声明变量
var click将是
false
所以
if(click){…
语句是这样说的:
if(false){…