js基本数据类型转换
1、其他值 -> 数字 :
① Number()
Number('123') // 123
Number('123.4') // 123.4
Number('123年') // NaN
Number('2e3') // 2000
Number('') // 0
注:纯数字字符串能变为数字,不是纯数字的字符串讲转为NaN
Number(true) // 1
Number(false) // 0
Number(undefined) // NaN
Number(null) // 0
② parseInt(): 将字符串转为整数。小数取整。
parseInt('3.14') // 3
parseInt('3.14是圆周率') // 3
parseInt('圆周率是3.14') // NaN
parseInt('3.99') // 3
注:自动截掉第一个非数字字符之后的所有字符,如果字符串不是以数字开头,则转为NaN,如果是有小数部分不会四舍五入。
③ parseFloat() : 将字符串转为浮点数
parseFloat('3.14') // 3.14
parseFloat('3.14是圆周率') // 3.14
parseFloat('圆周率是3.14') // NaN
parseFloat('3.99') // 3.99
parseFloat('12.34.56') // 12.34
parseFloat('一二三') //NaN
parseFloat(true) //NaN
parseFloat(false) //NaN
2、其他值 -> 字符串
① String()函数
eg:String(123) // '123'
String(123.4) // '123.4'
String(2e3) // ’2000‘
String(NaN) // ’NaN‘
String(Infinity) // 'Infinity'
String(0xf) // '15'
② toString() 几乎所有的值都有toString()方法,功能是将之转为字符串。
3、其他值 -> 布尔值
使用Boolean()函数。
注:① 数字 -> 布尔值:0和NaN转为false,其余数字都转为true。
eg: Boolean(123) // true
Boolean(0) // false
Boolean(NaN) //false
Boolean(Infinity) // true
Boolean(-Infinity) // true
② 字符串 -> 布尔值:空字符串转为false,其他转为true。
eg: Boolean('') // false
Boolean('abc') // true
Boolean('false') // true
③ undefined和null -> 布尔值
eg: Boolean(undefined) // false
Boolean(null) // false