类型转换主要指,将其他数据类型转换为(String、Number、Boolean)
类型转换有显式类型转换 和隐式类型转换
显式类型转换
1.1转换为string
调用数据的 toString() 方法
null和undefined 没有这个方法
1.2.调用String()函数,并将转换的数据作为参数传给函数
内部实际是调用了toString()
对于null和undefined就不调用toString(),它会将null直接转换为“null”
a=String(undefined) "undefined" a=String(null) "null"
2.1转换为Number
使用Number()函数
var a="123"; a=Number(a); console.log(typeof a); //结果:number // 如果: var a="abc"; a=Number(a); console.log(a); // 结果:NaN
如果是纯数字的字符串,则直接转换为数字,如果字符串中有非数字的内容,则转换为NaN,如果字符串是一个空串或者是一个全是空格的字符串,则转换为0;
Number(true)="1" Number(Null)=0 Number(undefined)="NaN" Number(false) = 0
2.2parseInt(string, radix) parseFloat()//只转换10进制 专门用来对付字符串
parseInt(string, radix) 将一个字符串 string 转换为 radix 进制的整数, radix 为介于2-36之间的数 //最好第二个参数写上10
parseFloat()
函数解析一个参数(必要时先转换为字符串)并返回一个浮点数。
如果对非string使用parseInt()或parseFloat()它会先将其转换为string,然后再操作。
var a = "123px"; a=parseInt(a); console.log(typeof a); 结果:number console.log(a); 结果:123 var b=true; b=parseInt(b); console.log(typeof b); 结果:number console.log(b); 结果:NaN
3转换为Boolean
除了0、NaN、空串、null、undefined其余都是true。对象也会转换为true
隐式类型转换
字符串相加 if条件语句的括号内
来源:https://www.cnblogs.com/-constructor/p/12365610.html