Javascript 为什么在if-else语句中触发else?
所以我在vue中有一个方法,它改变了darkMode变量onclick 我不明白的是为什么它总是触发if部分,然后又触发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
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
之后添加一个条件。