1.数据类型转换分为:显示类型转换、隐式类型转化
显示:主动调用 Number、Boolean、String方法
隐式:系统自动转换 (1)进行四则运算 (2)条件判断 (3)native调用,(eg:console.log /alert时)
2.数据类型包括7种
1)原始类型: Boolean String Number Symbol undefined null
2)对象:Object
3.数据类型转化的中间过程
1)被转化的数据为原始类型:直接调用转化方法转化
eg:Number(1) //1 Number('2') //2 Number(false) //0 Number('abc123') //NaN Number(undefined) //NaN Number(null) //0
2)被转化的数据为对象分两种情况:
(1)Number(Object)
eg:
var obj = {name:'lalaBao'}
Number(obj)
过程:首先调用 obj.valueOf() // {name:’lalaBao’}
而后调用 obj.toString() //[Object Object]
(2) String(Object)
eg:
var obj = {name:'lalaBao'}
String(obj)
过程:首先调用 var temp = obj.toString() //[object Object]
如果toString返回的值是原始类型,String转类型;
对象类型,调用 temp .valueOf() // [object Object]
4.typeof
typeof 1 // number
typeof 'abc' //string
typeof true //boolean
typeof undefined // undefined
typeof null // object
typeof {name:'lalaBao'} //object
5.小测试
以下内容的输出?
true+true // 2 1+{a:1} //1[Object Object]