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