JavaScript强制类型转换
强制类型转换
类型转换有两种:一种是显式转换,即需要程序员手动写代码转换;另一种是隐匿转换,由JavaScript解释器转换。
JavaScript提供以下函数进行显式转换:
1.转换为数值类型:Number(mix)、parseInt(string,radix)、parseFloat(string)
2.转换为字符串类型:toString(radix)、String(mix)
3.转换为布尔类型:Boolean(mix)
将其他的数据类型转换为String
方式一:
调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回。
但是要注意null和undefined这两个值没有toString()方法,如果调用它们的方法会报错。
var a=null;
a=a.toString();
console.log(a);
结果
方式二:
调用String()函数,并将被转换的数据作为参数传递给函数。
使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法。但是对于null和undefined,就不会调用toString()方法,它会将null和defined直接转换为字符串“null”和“undefined”。
将其他的数据类型转换为Number
方式一:
调用Number()函数转换为Number类型,如果是纯数字的字符串,则直接转换为数字;如果字符串中有非数字的内容,则转换为NaN;如果字符串是一个空串或者是一个全是空格的字符串,则转换为0,若是false和null则转换为0,undefined则转换为Nan。
方式二:
调用parseInt() 把一个字符串转换为一个整数,可以将一个字符串中有效的整数内容取出来,它的第二个参数是可选参数,可以选择进制,默认是10进制。
方式三:
调用parseFloat() 把一个字符串转换为一个浮点数,可以将一个字符串中有效的小数内容取出来。
将其他的数据类型转换为Boolean
方式一:
使用Boolean()函数,若是将数字转换为Boolean,则除了0和Nan,其余都是true,若是将字符串转换为Boolean,则除了空串,其余都是true,若是将null和undefined转换为Boolean,则都会转换为false,且对象也会转换为true。