Javascript类型转换

今天看了司徒大侠的博客里有一篇 位运算,感觉有个挺实用的,克服了parseInt('hhh')结果为NaN

我们就要恶补一下NaN是个什么东东,以下摘自W3School

定义和用法

NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

提示:请使用 isNaN() 全局函数来判断一个值是否是 NaN 值。

语法

Number.NaN

说明

Number.NaN 是一个特殊值,说明某些算术运算(如求负数的平方根)的结果不是数字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串时就返回这个值。对于一些常规情况下返回有效数字的函数,也可以采用这种方法,用 Number.NaN 说明它的错误情况。

JavaScript 以 NaN 的形式输出 Number.NaN。请注意,NaN 与其他数值进行比较的结果总是不相等的,包括它自身在内。因此,不能与 Number.NaN 比较来检测一个值是不是数字,而只能调用 isNaN() 来比较。

 

因此当我们将  NaN与任何int做位运算,返回的都是int本身值,我们可以用这个特性将  '值'|0作位运算,这样如果值不是数字,返回的就是0,如果是数字返回的就是值所对应的数字

 

初始类型:
位运算结果:
parseInt结果:
parseFloat结果:
原文地址:https://www.cnblogs.com/cainiaoguoshi/p/3335751.html