数据类型转换
基本数据类型:string(字符串)、number(数字)、boolean(布尔)、undefined(未定义)、null(空)
转数值:
- Number() — 将纯数字的字符串转为数字类型,会将true转为1,将false转为0
Number('100') //100
Number('10aa') //NaN
Number('abc') //NaN
Number(true) //1
Number(flase) //0
- parseInt() — 将数字开头的字符串转为数值类型且保留整数部分
parseInt('100') //100
parseInt('100px') //100
parseInt(100.123px100) //100
parseInt('px100') //NaN
parseInt('abc') //NaN
parseInt(true) //NaN
- parseFloat() — 将数字开头的字符串转为数值类型且保留小数部分
parseFloat('100.1') //100.1
parseFloat('100.1px10') //100.1
var num = parseFloat('100.123456px')
console.log(num.toFixed(3)) // 100.123
// .toFixed() 保留小数点后几位
- 隐式转换为number类型 : +(此处为正号) - * / %
任何数字在与非字符串类型的值进行运算(相加、相减、相乘、相除、模除)时,会先将不是 number 类型的值转换为 number 类型再进行计算。
console.log(+'100') //100
console.log('100' - 0) //100
console.log('100' * 1) //100
console.log('100' / 1) //100
console.log('100' % 101) //100
转字符串
-
String()
var num = 100;
String(num)
-
toString()
var num = 100;
num.toString()
-
隐式转换为string类型:+(起拼接作用)
字符串类型的值在和其他值进行相加运算时,会将先将不是 string 类型的值转换为 string 类型再进行拼接
var num = 100;
num = num + "";
转布尔
- Boolean()
Boolean('') //false
Boolean(null) //false
Boolean(undefined) //false
Boolean(NaN) //false
Boolean(0) //false
除去以上五类,其它全部转换为true