判断undefined:
let tmp = undefined;
if (typeof(tmp) == "undefined"){
alert("undefined");
}
let tmp2 = undefined;
if (tmp2 == undefined) {
alert("undefined");
}
说明:typeof 返回的是字符串,有六种结果:"number"、"string"、"boolean"、"object"、"function"、"undefined"
判断null:
let tmp = null;
if (!tmp && typeof(tmp)!="undefined" && tmp!=0){
alert("null");
}
let tmp2 = undefined;
if (tmp2 == null) {
alert("null");
}
判断NaN:
let tmp = 0/0;
if(isNaN(tmp)){
alert("NaN");
}
let tmp = null;
if (!tmp) {
alert("null or undefined or NaN");
}
说明:
- 如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。
- isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。
- 也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。