需求描述: 返回的3个值,任意一个为空的时候,弹出弹窗,
一开始我所考虑的就是 null 和 “”
假如返回的值是 a,b,c
我一开始的写法如下
if(!res.a||!res.b||!res.c){
console.log("弹出弹框");
}else{
console.log("不弹出");
}
但是如果后端给我们返回的值是0的话,让我们来模拟一下
let a=0 ; let b=0; let c=0 ;
if(!a||!b||!c){console.log("弹出弹窗")}else{console.log("不弹")};
让我们来看下控制台的输出
按理来说,后端3个值都给我们返回了,我们应该不弹出弹框的,所以这种写法行不通‘
原因解析:在js中0就是false,!0就是true,所以三个true取或还是true.
说到底还是我的基础知识不过关!!!
最后用笨方法写的
if(a===''||a===null||b===''||b===null||c===''||c===null){
console.log("弹出弹窗")
}else{
console.log("不弹出")
}