判断是否为undefined
//方法一 let a=undefined; if(typeof(a)=="undefined"){ console.log("undefined"); } //方法二 let a=undefined; if(a===undefined){ console.log("undefined"); }
判断是否为null
let b= null; if(!b && typeof(b) != "undefined" && b!=0){ console.log("null"); }
需要注意以下写法
let a=undefined; let b=null; if(a==null){ //成立 console.log("成功输出"); } if(a===null){ //不成立 console.log("成功输出") } if(b===null){ //成立 console.log("成功输出") }
【说明】==是用来检测两个操作数是否相等的,是“值比较”不比较类型。===是严格校验两个操作数是否严格相等,包括“值比较”和“类型比较”。
判断是否为NaN
let c=0/0; if(isNaN(c)){ console.log("NaN"); }
NaN表示不是一个数字(Not a Number),它是一种特殊的浮点数值。NaN通常用于表示数学运算无法产生有意义的结果的情况,例如0除以0或对负数求平方根等。
NaN与任何其他值(包括NaN本身)进行比较的结果都是false,包括NaN == NaN。这是因为NaN被定义为不等于任何其他值,甚至不等于它自己。这是由于NaN的特殊性质导致的。
NaN的比较结果为false的原因是为了遵循IEEE 754浮点数标准,该标准规定了浮点数的比较方式。根据这个标准,NaN被视为不可比较的特殊值,它与任何其他值都不相等,包括其他的NaN。这是为了确保在浮点数计算中保持一致性和可靠性。
如果要检测一个值是否是NaN,可以使用isNaN()函数来进行判断。例如,可以使用以下代码来检测一个变量是否为NaN。
判断是否为undefined、null和NaN(粗判断)
let d=null; if(!d){ console.log("null or undefined or NaN"); }
判断输入框的值是否为空
let str=' ' if(str.replace(/(^\s*)|(\s*$)/g,'').length<=0){ console.log("输入值为空"); }
判断对象是否为空
//方法一 let e={}; if(Object.keys(e).length === 0){ console.log("对象为空"); } //方法二 let e={}; if(JSON.stringify(e) == "{}"){ console.log("对象为空"); }
判断数组是否为空
let f=[]; if(f.length == 0){ console.log("数组为空") }