JS 学习笔记 -- NAN && isNaN
1. NaN :即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。其他语言可能导致错误,代码停止执行,但在ECMAScript 中,任何数值除以0 会返回NaN①,因此不会影响其他代码的执行。
特点:任何涉及NaN 的操作(例如NaN/10)都会返回NaN;
NaN 与任何值都不相等,包括NaN 本身;
2. isNaN : 这个函数接受一个参数 (任意类型), isNaN接收到值后,都会转换为数值。任何不能转换为数值的的值都会导致其返回true。
console.log(isNaN(NaN)); //true
isNaN(10) // false (10本身是数值)
isNaN("10") //false (可以被转换成数值10)
isNaN("blue"); //true (不能被转换为数值)
isNaN(true); // false (可以被转换成数值1)
3. 数值转换
Number(null); //0
Number(undefined); //NaN
Number(" "); // 0