Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么在if-else语句中触发else?_Javascript_Vue.js_If Statement - Fatal编程技术网

Javascript 为什么在if-else语句中触发else?

Javascript 为什么在if-else语句中触发else?,javascript,vue.js,if-statement,Javascript,Vue.js,If Statement,所以我在vue中有一个方法,它改变了darkMode变量onclick 我不明白的是为什么它总是触发if部分,然后又触发else部分 data(){ return{ darkMode:false, } }, methods:{ darkModeToggle(){ if(this.darkMode == false) { console.log("should be dark") this.darkMode = true

所以我在vue中有一个方法,它改变了darkMode变量onclick

我不明白的是为什么它总是触发if部分,然后又触发else部分

data(){
    return{
      darkMode:false,
    }
  },
methods:{
darkModeToggle(){
  if(this.darkMode == false)
  {
    console.log("should be dark")
    this.darkMode = true
  }
  else(this.darkMode == true)
  {
    console.log("should be light")
    this.darkMode = false
  }
}
}
预期输出为第一次单击=“应为暗”,然后第二次单击=“应为亮” 但是,每次单击和输出时都会触发两次= “应该是黑暗的”和 “应该是轻的”

我知道它可以正确地与“else if”配合使用,我只是不明白它为什么不能以这种方式工作。

答案很简单

否则就没有条件了 他们应该是这样的

if(condition) {
} else {
}
if(condition) {
} else if(another_condition) {
}
如果您想获得所需的输出,请使用else if 应该是这样的

if(condition) {
} else {
}
if(condition) {
} else if(another_condition) {
}

else(this.darkMode==true)
typoh我在else中添加了一个条件必须睡觉你不能在
else
之后添加一个条件。