详解类型转换

如果要问面试官一定会问的是什么或者说面试题一定会出的是什么?那答案一定是类型转换。

但是菜鸟只想说一句,类型转换真的是太多了,好难得记忆,所以这里就总结一下,顺便附征部分面试常见题!

类型转换

类型转换是js中逃不过去的坎,其中包含显示类型转换和隐式类型转换,其中的难点还要属隐式类型转换

一、显式类型转换

显示类型转换是通过具体的方法,手动的进行转换的方式。

1、数值运算符(+)和负数值运算符(-)

他们的作用可以将任何值转为数值(与 Number() 函数的作用类似),一般用于显示类型转换。
在这里插入图片描述
注意:

  • 当 + 和 - 作为一元运算符时,会把操作数转换为数字(只能转换纯数字,转不了的转成NaN)。
  • 二元加法运算符 + 可以对两个数字做加法,也可以做字符串连接操作。有字符串参加 + 时,不会继续转化为数字,而是连接了。
  • NaN虽表示不是数字,但是 typeof(NaN) 却是 number。(下面《NaN注意》有详细讲解)

2、parseInt

在这里插入图片描述

这里需要注意的是:

1、parseInt 只能转化纯数字的字符串 或者 开头是数字的字符串(舍弃后面全部)!

这里让菜鸟想起了一道面试题,之前还是很常见的:

在这里插入图片描述

请问输出的是什么?答案是 1, NaN, NaN

这里是因为map接收三个参数,然后 parseInt 默认接收了前两个,所以导致这个问题!

具体解释:

在这里插入图片描述

parseInt 的第二个参数这里需要理解清楚一点,是对要转换的数的进制基数,而不是要转换成的进制基数!

所以

在这里插入图片描述

而这个才是正确的

在这里插入图片描述

3、js提供的包装对象

我们可以通过 JavaScript 内置的一些 API 将一种类型转换为另一种类型,这称为显式类型转化。执行显式类型转换的最简单方法是使用 Boolean()Number()String()parseInt()等函数,例如:

String(2 - true);     // '1'
'56' === String(56);  // true
Number('2350e-2');    // '23.5'
Number('23') + 7;     // 30
Boolean('')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PBitW

可以去掘金看更完善版本

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

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

打赏作者

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

抵扣说明:

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

余额充值