zshscc 发表于 2022-4-22 09:41:07

js如何进行if判断null或者空

请问一下js命令中如何进行if判断null值或者空值

谢厅 发表于 2022-4-25 11:22:23

我记得好像是不用特殊处理啊
假设 变量a是null或者undefined
直接 if a {
// 为真时干啥
}

Jeffersyuan 发表于 2022-4-22 11:34:15

typeof obj == 'undefined'
obj == null
!obj
都可以

phoben 发表于 2022-4-23 18:24:50

本帖最后由 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:17:08

本帖最后由 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');
}



阿凡佬 发表于 2022-4-25 11:02:51

完整空值判断
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]
查看完整版本: js如何进行if判断null或者空