js 通过感叹号判断变量是否有值
空字符串 是false
console.clear();
var a='';
console.log('a:'+a);
if(!a){
console.error('a is null');
}else{
console.log('a has value');
}
运行结果:
空格是true
数字0是false
var a=0;
console.log('a:'+a);
if(!a){
console.error('a is null');
}else{
console.log('a has value');
}
运行结果:
什么情况下会打印a is null
- 值为undefined;
- 值为null
- 值为空字符串
- 值为数字0
- 值为false
- 值为String(”)
延伸
既然0 是false,那么可以判断数组是否为空
优化为:
if (titleList.length) {//titleList.length>0
if (titleList.length == 1 && titleList[0] == val) {
hideTitleDropdownBox();
} else {
this.renderInvoiceCompList(titleList, true);
}
} else {//发票没有匹配的就是不显示下拉列表
hideTitleDropdownBox();
}