在vue项目中,在data内定义了一个变量status="",在使用的时候,将0的值赋值给了它,然后判断if(status!=""),返回false。 分析是空字符串在==使用的时候是和0相等的,所以要使用if(status!==""),这样变量不会进行类型转换,就会返回他们不相等了。
本来一直使用===,今天用了==,导致错误分析了很久,记录一下。
分析的代码入下:
data(){
return{
status:"",
...
}
}
// 在方法内使用的时候
test(){
let code=0
this.status = code
if(this.status !==""){ // 注意这里,如果使用!="",则不会执行if里面的代码
// ,因为js中认为 0 == “” => true, 但是 0 === “” =》 false
...
}
}