javascript中的数据类型转换

Posted hcl520cc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的数据类型转换相关的知识,希望对你有一定的参考价值。

1、把其他的数据类型转换为number类型

    Number()->严格

    parseFloat/parseInt ->非严格  

  1)把布尔类型转换为数字的话 true->1  false->0

      2)把null/undefined转换为数字 null->0  undefined->NaN  10+null=10   10+undefined=NaN

      3)把[]转换为数字 首先调用数组的toString方法把[]->"",然后在使用Number方法把""->0

 

2、把其他的数据类型转换为布尔类型

  只有0、NaN、null、undefined、""这五个转换为布尔类型的时候是false,其余的转换完成都是true

 

3、两个值进行比较,如果左右两边的数据类型不一样,我们需要遵循一套法则,进行默认的数据类型转换

    1)对象==对象  比较的是自己存储的内存地址,如果内存地址不一样就不相等  []==[]->false 每一个空数组都是一个单独的内存地址

    2)对象==字符串 调用toString方法,将对象转换为字符串  []==""->true   

    3)对象==布尔  对象转换为数字(toString-Number),布尔也转换为数字(true->1 false->0)

      []==false ->true  []->0 false->0 0==0->true

      ![]==false -> ![]先把空数组转换为布尔类型然后在取反->false   false==false->true

    4)对象==数字 对象转换为数字  []==0->true  []==1->false

    5)字符串==布尔  两者都转换为数字   "3"==true->false  "1"==true->true

    6)字符串==数字  字符串转换为数字  ""==0->true 

    7)布尔==数字  布尔转换为数字  true==1->true  true==2->false

    8)null==undefined ->true   null===undefined ->false 

      null/undefined和其他的任何值都不相等  null==0->false  

    9)NaN==NaN ->false  NaN和任何的值(包括自己)都不相等

 

以上是关于javascript中的数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章

javascript中的数据类型转换

JavaScript中的数据类型和数据类型转换

JavaScript数据类型转换

JavaScript中的数据类型转换

Javascript中的类型转换

Web | JavaScript的引用数据类型强制转换类型