转换成字符串类型
数字、布尔 – 变量名/值.toString()
// 数字
var num = 0.23
console.log(num, typeof num)
num = num.toString()
console.log(num, typeof num)
// 布尔
var bool = false
console.log(bool, typeof bool)
bool = bool.toString()
console.log(bool, typeof bool)
null、undefined – String(变量名/值)
// null
var empty = null
console.log(empty, typeof empty)
empty = String(empty)
console.log(empty, typeof empty)
// undefined
var a
console.log(a, typeof a)
a = String(a)
console.log(a, typeof a)
转换成布尔类型
// Boolean() true/false
console.log(Boolean(-10.23)) //
console.log(Boolean(Infinity)) //
console.log(Boolean(Number.MAX_VALUE)) //
console.log(Boolean(0x1b))
console.log(Boolean('35')) //
console.log(Boolean('abcA$^^&^')) //
// 转换成false的六种值:0/NaN/空字符串/false/null/undefined
console.log(Boolean(0)) //false
console.log(Boolean(NaN)) //false
console.log(Boolean('')) //false
console.log(Boolean(false)) //false
console.log(Boolean(null)) //false
console.log(Boolean(undefined)) //false
转为数字类型
转为数字类型的方法:
1、Number()
2、parseInt():遇到第一个小数点或者第一个非数值就结束返回
3、parseFloat():遇到第二个小数点或者第一个非数值就结束返回
/*
未定义 undefined
1、Number() NaN
2、parseInt() NaN
3、parseFloat() NaN
*/
console.log(Number(undefined))
console.log(parseInt(undefined))
console.log(parseFloat(undefined))
/*
空型 null
1、Number() 0
2、parseInt() NaN
3、parseFloat() NaN
*/
console.log(Number(null))
console.log(parseInt(null))
console.log(parseFloat(null))
/*
布尔
1、Number() true 1 false 0
2、parseInt() NaN
3、parseFloat() NaN
*/
console.log(Number(true)) //1
console.log(Number(false)) //0
console.log(parseInt(false)) //
console.log(parseFloat(false)) //
/*
字符串
1、Number()
a. 如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0
b. 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0
c. 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值
d. 如果字符串为空,或者是空内容,将其转换为0
e. 如果字符串中包含除上述格式之外的字符,则将其转换为NaN
2、parseInt()
3、parseFloat()
*/
console.log(parseInt('12Abc')) //12
console.log(parseInt('A12bc')) //NaN
console.log(parseInt('12.36')) //12
console.log(parseFloat('12Abc')) //12
console.log(parseFloat('A12bc')) //NaN
console.log(parseFloat('12.36')) //12.36
console.log(Number('-89.36')) //-89.36
console.log(Number('08.36')) //8.36
console.log(Number('036.')) //8.36
console.log(Number('036.#1'))
console.log(Number('0x1a')) //26
console.log(Number(' ')) //0