js强制类型转换
类型转换主要指,将其他数据类型转换为(String、Number、Boolean)
转换为string:
方式一:调用xxx的yyy()方法,就是xxx.yyy()
var a=123;
a.toString();
console.log(a); 结果:123
该方法不会影响到原来的变量,它会将转换的结果返回
var b=a.toString();
console.log(b); 结果:"123"
注意:null和undefined两个值没有toString()方法
方式二:调用String()函数,并将转换的数据作为参数传给函数
var a=123;
a=String(a);
console.log(a); 结果:"123"
使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法,但是对于null和undefined就不调用toString(),它会将null直接转换为“null”。
转换为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"
方式二:parseInt() parseFloat() 专门用来对付字符串
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
如果对非string使用parseInt()或parseFloat()它会先将其转换为string,然后再操作。
转换为Boolean:
使用Boolean()函数
var a= 123;
a=Boolean(a);
console.log(typeof a); 结果:boolean
console.log(a); 结果:true
除了0、NaN、空串、null、undefined其余都是true。对象也会转换为true
————————————————
版权声明:本文为CSDN博主「MandiGao」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41999617/article/details/81174185