JS中的数据类型转换

JS中的数据类型转换可以分为,显示类型转换和隐式类型转换

在JS中类型转化总共有3种模式   toboolean()   tonumber()  tostring()  

数据类型的转换可以分为简单数据类型的转换以及复杂数据类型的转换,这两者的转换方法不同,但转换的最终格式相同

简单数据类型的转化

1. tostring()    

可以调用String() 方法转化为string类型

1.toString() // '1'
String(1)  //1
String(null) //'null'
String(undefined) //'undefined'

用+连接,只要有一个字符串类型,就会转换为字符串

''+3  //'3'
1+'23' // '123'

2.tonumber()

Number('1')//1
parseInt('1.1') //1
Number('')//0
parseInt('') //NAN

3. toboolean()

if(''){
}
    //if语句
!1  //取非

nan,null,undefined,'',0,false 转化为布尔值为false,其余的都是true

在进行比较时,除了两边都是字符串的情况,会比较字符串的编码,其余情况都是转化为数值来进行比较

复杂数据类型的转化

1. 在对对象性进行转化的时候,首先调用对象的valueof方法,基本上返回值就是本身,,然后调用toString()返回,直到返回基本类型的值进行比较

通过一些实例题目来比较一下

true + false   //1
12 / "6"      //2
"number" + 15 + 3   // 'number153'
15 + 3 + "number"   // '18number'
[1] > null          //true
"foo" + + "bar"     //'fooNaN'
"true" == true      // false
false == "false"   // true
null == ""         //true
!!"false" == !!"true"   //ture
["x"] == "x"        //true
[] + null + 1       //'null1'
[1,2,3] == [1,2,3]  //true
{} + [] + {} + [1]   //'0[object,object]1'
! + [] + [] + ![]    // 'truefalse'
new Date(0) - 0      //0
new Date(0) + 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值