数据类型转换

强制类型转换

把数据类型转为string(字符串类型)

1.利用var val = num.toString(a);

用点的方法调用执行,将num转为字符串类型

var val = num.toString(a);a可以表示进制;当a=2;此时会将num这个值通过 调用 toString方法来转换成2进制的数

注意:这个方法不能把null和undefined类型转为字符串,会报错、

2.利用string函数来转换类型

string函数将null,undefined转为字符串类型不会报错;、

var val =String(a);将a的类型直接转为字符串类型;

调用string原理:

对于number、Boolean用的是to.String原理;

对undefined和null底层直接转为undefined、null;

从用户输入的字符类型都是字符串

把数据类型转为number(字符串类型)

可以直接利用number( )把值转为number类型;

a=number(b),将b转为number类型;

当要转换值为false、null、空字符串("")、空格字符串("  ")、转为number类型结果都是0;

当值为true的时候转为number类型结果是1;

当值不是一个纯数字的时候或者为undefined的时候转为number类型结果是NaN;

注意"011"代表的是字符串所以转为number的结果是11;而011表示的是八进制转转为number的结果是9;

把数据类型转为parseInt();功能是:把一个值转换成整数(字符串类型)


跟number类型的区别就是把null和boonean类型转换结果都是NaN;

把数据类型转为parseFloat();功能是:把一个值转换成小数


parseFloat()和parseInt()一般是对于字符串来使用的

Boolean();//把一个值转换成布尔值


总结:

Boolean转换 非0的数字都是true ,0为false 非空的字符串都是true,空字符串都是false null,undefined,NaN都是false 所有的引用数据类型都是true;

隐匿类型转换

字符串隐匿类型转换

所有类型和字符串相加都会被自动转为字符串类型,可利用这个特性把数据类型转为字符串类型;

如 1+" "="1"他会自动将1转为字符串

常用方法:

b="a"+1;

b=" "+1;

console.log("b="+b)

都可将b转为字符串

数字隐匿类型转换

所有非number类型和number相减、相乘、相除都会将非number类型转为number类型再进行计算;

常用:

b="b"-0  b=1*"b"  b="b"/1都可将b转为number再进行计算

布尔隐匿类型转换

对任意值取!(非)的时候都会先将值转为Boolean再进行非计算;

所以可用    !!b    将b 转为布尔类型;b的值不变;

当进行逻辑运算时候都会将类型转为Boolean进行判断

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。