Open yangmaoHu opened 5 years ago
NaN(Not-A-Number)--NaN NaN 属性的初始值就是 NaN,和 Number.NaN 的值一样。
NaN === NaN; // false
Number.NaN === NaN; // false
isNaN(NaN); // true
isNaN(Number.NaN); // true
等号运算符(== 和 ===) 不能被用来判断一个值是否是 NaN。必须使用 Number.isNaN() 或 isNaN() 函数。在执行自比较之中:NaN,也只有NaN,比较之中不等于它自己。
严格相等和undefined(若变量没声明,会报错)
var x;
if (x === undefined) {
// 执行这些语句
} else {
// 这些语句不会被执行
}
Type操作符和undefined(不会在一个变量没有被声明的时候抛出一个错误)
便面使用
// 这里没有声明y
if(typeof y === 'undefined') { // 没有错误,执行结果为true
console.log("y is " + typeof y ) // y is undefined
}
if(y === undefined) {
// ReferenceError: y is not defined
}
Void操作符和undefind
var x;
if(x === void 0) {
// 执行这些语句
}
// 没有声明y
if(y === void 0) {
// 抛出一个RenferenceError错误(与`typeof`相比)
}
Infinity--Infinity 无穷大