JS类型转换

1.强制类型转换

强制类型转换指将一个数据类型强制转换成另一种数据类型。类型转换主要指将其他的数据类型转换成String Number Boolean

(1)将其他数据类型转换成String类型

方法一:调用被转换类型的toString()方法。该方法不会影响到原变量,它会将转换的结构返回。但是注意,Null和Undefined没有toString()方法,如果调用它们的方法,则会报错。
例:将number转换成string:

var a = 123;
a = a.toString();

方法二:调用String()函数。调用String()函数,并将被转换的数据作为参数传递给函数。使用String函数做类型强制转换时,对于Number和Boolean就是调用toString()方法,对于null和undefined,就不会调用toString()方法,它会将null直接转换成”null”,将undefined转换成”undefined”。
例:

var a = 123;
a = String(a);
(2)将其他的数据类型转换为Number类型

转换方式一:使用Number()函数

1)字符串

如果是纯数字的字符串,则直接将其转换为数字

var a = '123';
a = Number(a);

如果字符串中有非数字的内容,则转换为NaN

var a = '123abc';
a = Number(a);
console.log(a);

控制台会打印出NaN。

2)布尔类型

布尔类型转换成数字:Ture转成1;False转成0。

3)Null

Null转成数字0。

4)Undefined

Undefined转成数字NaN。
转换方式二:这种方式专门用来对付字符串。
parseInt()把一个字符串转换为一个整数parseFloat()把一个字符串转换为一个浮点数。parseInt()可以将一个字符串中的有效的整数内容去出来,然后转换为Number。parseFloat()和parseInt()作用类似,不同的是它可以获得有效的小数。

var a = '123abc',
    b = '12.34.56ab';
a = parseInt(a);
b = parseFloat(b);
console.log(a);
console.log(b);

控制台会输出123和12.34。
如果对非String使用parseInt()或parseFloat(),它会将其转换为String然后在操作。

(3)将其他的数据类型转换为Boolean类型

使用Boolean()函数。

1)对于数字

除了0NaN,其余的都是true。

2)对于字符串

除了空串,其余的都是true。

3)null和undefined

对于null和undefined都是false。

4)对象

对象默认情况下都转换为true。

2.隐式类型转换

1)转换为String类型

转换为String类型:可以为任意的数据类型加一个空串的形式将其转换为字符串。

var a = 123;
a = a + ‘’;

原理和String()函数一样。

2)转换为Number类型

可以通过一元的 + (+0 /1 *1)来将一个其他的数据类型转换为Number。

var a = '123'
a = +a;

原理和Number()函数一样。

3)转换为Boolean类型

转换为Boolean类型:可以为一个值取两次反来将其转换为布尔值。

var a = 10;
a = !!a;

原理和Boolean()函数一样。

  • 15
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值