JS里的数据类型转换

1.转换成string

-- 用.toString()

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

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

var n = null
n.toString() // Cannot read property 'toString' of null
var n = undefined
n.toString() // Cannot read property 'toString' of undefined

var obj = { name:'tian'}
obj.toString() // "[object Object]"

-- 用String()

String(1) // "1"
String(true) // "true"
String(null) // "null"
String(undefined) // "undefined"
String({}) // "[object Object]"

-- 老司机 '' + xxx

'' + 1 // "1"
'' + true // "true"
'' + null // "null"
'' + undefined // "undefined"
'' + {} // "[object Object]"

2.转换成boolean

-- 用boolean()

Boolean(1) // true
Boolean('abc') // true
Boolean({}) // true

五个falsy

Boolean(null)
false
Boolean(undefined)
false
Boolean('') //空字符串
false
Boolean(NaN)
false
Boolean(0)
false

-- 老司机 !!取反

!! 1 // true
!! 0 // false
!! {name:'tian'} // true

3.转换成number

-- Number()

Number(1) // 1
Number(3.14) // 3.14
Number(2b33) // Uncaught SyntaxError: Invalid or unexpected token

-- parseInt()/parseFloat()

parseInt(9,10) // 9 十进制
parseInt(11,8) // 9 八进制
parseInt(3.14,10) // 3
parseInt('2b333') // 2 遇到不能转换的就停止
parseInt('b333') // NaN 第一个字符不能转换成数字
parseFloat(3.14) // 3.14 转化为浮点数

-- 老司机 'xxx' - 0

'abc' - 0 // NaN
'3.14' - 0 // 3.14
'2333' - 0 // 2333

-- 取正 + 'xxx'

+ '1' // 1
+ '3.14' // 3.14
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。