js如何进行if判断null或者空
请问一下js命令中如何进行if判断null值或者空值我记得好像是不用特殊处理啊
假设 变量a是null或者undefined
直接 if a {
// 为真时干啥
} typeof obj == 'undefined'
obj == null
!obj
都可以 本帖最后由 phoben 于 2022-4-23 18:31 编辑
方法很多啊,看想怎么用
第一种:转成bool类型vari = "";
Boolean(i);// 会得到true 或者 false为空会返回false
第二种:三元表达式,可以在变量后面加上?和:来代替if else;vari = null;vari = null;var n = i?'有值':'空值';
第三种:截断符号
var i = null;var n =1;var s = i || n;//i为空则返回nvar s= i ?? n; //i为null则返回n
本帖最后由 renho 于 2022-4-23 20:19 编辑
首先null 和 空 不是同一个东西
空除了null还包含undefined
看下面的你就懂了很简单的
非空判断
if(!a && a != 0) {
console.log('a 为空');
}else{
console.log('a 不为空');
}
判断未定义undefined
if(typeof(a) == 'undefined') {
console.log('a 是 undefined');
}else{
console.log('a 不是 undefined');
}
判断null
if(!a && typeof(a) !== 'undefined' && a != 0) {
console.log('a 是 null');
}else{
console.log('a 不是 null');
}
完整空值判断
function isEmpty(v){
switch (typeof v){
case 'undefined' : return true;
case 'string' : if(v.trim().length == 0) return true; break;
case 'boolean' : if(!v) return true; break;
case 'number' : if(0 === v) return true; break;
case 'object' :
if(null === v) return true;
if(undefined !== v.length && v.length==0) return true;
for(var k in v){return false;} return true;
break;
}
return false;
}
页:
[1]