if(!Number.numberIsNaN){
Number.numberIsNaN=function(o){return(typeof o ==="number"&& window.isNaN(o))}}
console.log(Number.numberIsNaN(2))// false
console.log(Number.numberIsNaN("foo"))// false
首先确定 是数字类型,然后再确认是NaN,然后因此就是NaN
Number.numberIsNaN()的另一种实现
因为 NaN 是 javascript 中唯一一个不等于自身的值,所以可以这样来检验
if(!Number.numberIsNaN){
Number.numberIsNaN=function(o){return(
o !== o
)}}
console.log(Number.numberIsNaN(2))// false
console.log(Number.numberIsNaN("foo"))// false
NaN的深刻理解NaN,就是 not a number 的缩写,意思就是 不是数字NaN 是 javascript 里唯一一个和自身不相等的特殊值,即 NaN !== NaN ,换句话说,NaN === NaN 的结果是 falseNaN 不是数字,但是是数字类型,因为 typeof NaN 会返回 number,不是数字,却是数字类型,这个确实有点意思检验NaN的函数window...