判断是否为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("数组为空")
}