隐形类型转换

parseInt().Number().string()转换方式是一种显性类型转换。还有一种隐形类型转换

例如:var a = '10';

    a++;

    typeof a  //   number

 

+、-、*、/、++、--、  在字符串类型的类型进行换算的时候会做出隐形转换。

 

<、>

比较符号有些特殊

alert('10'>9)  结果为true  先把字符串做了隐形转换再比较

两个字符串类型的数字比较则不同例如

alert('10'>'9') 结果为false  

alert('1000000'>'9')  结果还是false

字符串之间比较则是一位一位的比较  上述例子比较过程是先把 1和9比较  结果为false  最终结果为false

 

0为false  

任意其他数字则为  true

 字符串为 true

undefined  为false 

null  为false

NaN 为false

NaN 类型为Number

 

isNaN(250)   如果里面是数字  则为false  

isNaN('ssss') 如果为字符串 则为true

isNaN('250') 如果为字符串数字  则为false

isNaN(true)   如果是布尔值会先进行Number转换结果为1 在进行判断isNaN判定   结果为false

isNaN 在内部是根据Number转换之后才进行isNaN判定

判断当前元素是不是NaN

posted @ 2017-06-15 16:11  不淡不浓、不如画  阅读(889)  评论(0编辑  收藏  举报