数据类型转换
- 转换成数值
1、Number()函数
//字符串不能被完全解析为数值,返回NaN
Number('3432f') //NaN
//空字符串转为0
Number('') //0
Number(undefined) // NaN
Number(null) // 0
Number方法的参数是对象时,将返回NaN,除非是包含单个数值的数组。
2、parseInt()
parseInt方法用于将字符串转为整数。一个个字符依次转化,遇到不能转为数字的字符,就不再进行下去,返回已经转好的部分。返回值两种:十进制的整数或NaN
parseInt('34vb',10) //34
parseInt第二个参数,表示被解析值的进制
3、parseFloat()
parseFloat方法用于将一个字符串转为浮点数。
如果参数不是字符串,或者字符串的第一个字符不能转化为浮点数,则返回NaN。
parseFloat('4.89va') //4.89
parseFloat([]) // NaN
parseFloat会将空字符串转为NaN,区别Number函数的转换结果
4、对非数值类型的值使用一元运算符(即+和-)。
- 转换为string
1、String()函数
数值:转为相应的字符串。
字符串:转换后还是原来的值。
布尔值:true转为字符串"true",false转为字符串"false"。
undefined:转为字符串"undefined"。
null:转为字符串"null"。
复合数据类型的转换结果
String({a: 1}) // "[object Object]"
String([[3,4],['a','b']]) //"3,4,a,b"
2、toString()
var a = 34
a.toString() //"34"
undefined、null不适用,会报错
3、任何值和字符串相加,返回字符串,所有+''(空字符串),可以完成字符串转化
- 转为布尔值
1、Boolean()
Boolean函数可以将任意类型的值转为布尔值。
除了以下五个值的转换结果为false,其他的值全部为true。
undefined、null、-0或+0、NaN、''(空字符串)
2、用两个取反!!,转为布尔值