独一无二的 NaN

NaN 是独一无二的,这也是他的神奇之处,NaN 甚至都不等于 NaN

NaN === NaN // false

所以自己不等于自己的变量,肯定是 NaN,通过这一特性,就能很简单的实现 isNaN 方法,用来判断一个值是不是 NaN

var isNaN = function(val) {
  return val !== val;
};

所以在判断一个值是不是 NaN 的时候,不要直接写做 某个值 === NaN,这条件永远是不成立的,因为谁都不可能等于 NaN