12前端成长日记-JS里的数据类型转换

193 阅读1分钟

转换成 String

1. toString()

var number = 1
number.toString() //'1'

NaN.toString() //'NaN'

var Boolean = true 
Boolean.toString() //'true' 

var obj = {name:'Time',age:'18'}
obj.toString() //'{object Object}'
var obj = [5,4]
obj.toString() //'5,4'

toString方法不能将 nullundefined 转换成 string

2. window.String()

var number = 1
window.String(number) //'1'

var Boolean = true 
window.String(Boolean) //'true'

window.String(null) //'null'

window.String(undefined) //'undefined'

var obj = {name:'Time',age:'18'}
window.String(obj) //'{object Object}'

3. ''+

var number = 1
number + '' //'1'

var Boolean = true 
Boolean + '' //'true'

null + '' //'null'

undefined + '' //'undefined'

var obj = {name:'Time',age:'18'}
obj + '' //'{object Object}'

转换成 Boolean

1. Boolean()

五个 falsy 值 0 , NaN , null , '' , undefined

var number = 1
Boolean(number) //true
Boolean(0) //false
Boolean(NaN) //false

var string = 'string'
Boolean(string) //true
Boolean('') //false

Boolean(null) //false

Boolean(undefined) //false

var obj = {name:'Time',age:'18'}
Boolean(obj) //true

2. !!

var number = 1
!!number //true
!!0 //false
!!NaN //false

var string = 'string'
!!string //true
!!'' //false

!!null //false

!!undefined //false

var obj = {name:'Time',age:'18'}
!!obj //true

转number

1. Number()

var string = '1'
Number(string) //1
var NaN = 'string'
Number(NaN) //NaN

Number(true) //1
Number(false) //0

Number(null) //0

Number(undefined) //NaN

var obj = {name:'Time',age:'18'}
Number(obj) //NaN

2. parseInt()

取整,默认转换为10进制,

var string = '1'
parseInt(string) //1
string = 1.222
parseInt(string) //1

3. parseFloat()

转换成浮点数

var string = '3.14'
parseFloat(string) //3.14

4. - 0

var string = '1'
string - 0 //1
string = '3.14'
string - 0 //3.14

5. +

var string = '1'
+ string //1
string = '3.14'
+ string//3.14