类型转换

我们在前面的运算符的部分提过了这个类型转换,这篇文章就主要介绍一下什么是类型转换。

 

 显示类型转换

类型转换,自然是把数据的类型改变了,那么我们怎么才能知道数据的类型是否发生了改变呢?

我们有一个操作符typeof可以检测数据的类型。

typeof能返回的类型一共只有6种:

numner、string、boolean、undefined、object、function

• 数组和null类型的都属于object。其实null并不是一种对象,只是因为历史遗留性的问题,null通常用来作为对象占位符,所以被浏览器归到了object里面了。

• NaN属于number类型。虽然是非数,但是非数也是数字的一种。

• 同时,typeof返回的结果其实是一种字符串,我们可以用typeof来测试。

1.Number(mix)

这个方法是可以把其他类型的数据转换成数字类型的数据。

2.parseInt(string, radix)

这个方法是将字符串转换成整型类型数字的。其中第二个参数radix基底是可以选择的参数。

当radix为空的时候,这个函数的作用仅仅是将字符串转换成数字。

当参数string里面既包括数字字符串又包括其他字符串的时候,它会将看到其他字符串就停止了,不会继续转换后面的数字型字符串了。

radix不为空的时候,这个函数可以用来作为进制转换,第二个参数的作用则是,我们把第一个参数的数字当成几进制的数字来转换成十进制

radix参数的范围是2-36

将十六进制的‘10’转换成十进制的16。

3.parseFloat(radix)

这个方法和parseInt方法类似,是将字符串转换成浮点类型的数字,同样是碰到第一个非数字型字符停止,但是由于浮点型数据有小数点,所以它会识别第一个小数点以及后面的数字,但是第二个小数点就无法识别了。

4.toString(radix)

这个方法和前面的都一点不同,它是对象上的方法,任何数据类型都可以使用,转换成字符串类型,涉及到包装类的一些知识。

同样radix基底是可选参数,当为空的时候,仅仅代表将数据转化成字符串

当写了radix基底的时候,则代表我们要将这个数字转化成几进制的数字型字符串。

• undefiend和null没有toString方法

5.String(mix)

和Number类似,把任何类型转换成字符串类型。

6.Boolean(mix)

和Number类似,把任何类型转换成布尔类型。

隐式类型转换

1.isNaN()

这个方法可以检测数据是不是非数类型。

这中间隐含了一个隐式转换,它会先将你传的参数调用一下Number方法之后,再看看结果是不是NaN,不过这个方法可以检测NaN本身。

2.算术运算符

在前面介绍算术运算符的时候,我们就提到了类型转换。

• ++就是现将数据调用一遍Number之后,再自加一。

放在后面写++,虽然是执行完之后才加一,但是执行之前就会调用Number进行类型转换

 • 同样一目运算符也可以进行类型转换。

+、-、*、/在执行之前都会先进行类型转换,都转换成数字类型的在进行运算。

 逻辑运算符也会隐式调用类型转换

&&和||都是先把表达式调用Boolean,换成布尔值再进行判断,看看是true还是false,不过返回的结果还是本身表达式的结果。

!取反操作符返回的结果也是调用Boolean方法之后的结果。

• 当然也有不发生类型转换的比较运算符

===严格等于

!==严格不等于

转载于:https://my.oschina.net/u/3953786/blog/2987964

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值