js中数据类型转换

1.数据类型判断

通过typeof()判断数据类型
在这里插入图片描述

2.Number数据类型转换

通过Number(value)函数可将其他类型的数据转化成数字类型
1.布尔值 —> 0或1
2.数字 —> 数字
3.Null —> 0
4.undefined --> undefined
5.字符串
a.若只有数字:“133”–>133 “011”–>11
b.浮点数:“1.1”–>1.1
c.十六进制:“0xf”–>数字
d.空字符串:""–>0
e.除以上之外结果为NaN:“hello”,“he222”,“213hh”,"[233"
在这里插入图片描述

3.parseInt()

Number()函数在转换字符串时比较复杂,且不够合理,因此在处理整数时parseInt()更实用,parseInt是Number的一个分支
1.忽略字符串前面空格,直到照到第一个非空格字符,若第一个字符是数字字符,parseInt会继续解析第二个直到解析完所有后续字符或遇到一个非数字字符
在这里插入图片描述
2.若第一个字符不是数字字符或者负号,则返回NaN
在这里插入图片描述
3.若解析的值是小数或者字符串开头的是小数,则parseInt()只会街区整数部分
在这里插入图片描述
流程图如下:
在这里插入图片描述

3.parseFloat()

parsefloat()和parseInt()区别在于前者可以分析小数
在这里插入图片描述

4.字符类型转换toString()

几乎每个值都有toString()方法,但调用方法不同
a.数字 —> 字符串 不能直接使用toString()方法,要创建一个函数调用

在这里插入图片描述
b.数组 —> 字符串
[值1,值2,值3].toString();
1.值1–>字符串1
2.值2–>字符串2
3.值3–>字符串3
4.字符串1,字符串2,字符串3
在这里插入图片描述 若数组是嵌套数组,则先解析大数组内的小数组,再依此解析

在这里插入图片描述
c.函数—>字符串
默认情况下是直接返回函数完整代码
在这里插入图片描述
d.对象—>字符串
默认情况下直接返回一个标识符号
在这里插入图片描述
e.布尔值—>字符串
结果返回相应字符串 true或false

5.String()函数遵循下列转换原则

1.若值有toString()方法,则调用该方法返回相应结果
2.若值为null,则返回 “null”
3.若值为undefined,则返回 “undefined”

在这里插入图片描述

6.布尔类型转换 Boolean()

数据类型truefalse
booleantruefalse
String任何非字符串“”(空字符串)
Number任何非数字值0和NaN
object任何对象null
undefined/undefined

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]提到了关于对象转换为数字的过程,对象转换为数字会经历对象->字符串->数字的过程。在这个过程,会调用对象的toString()方法来将对象转换为字符串。所以在题目的代码,对象a通过重写toString()方法,使得每次调用a.toString()都会返回递增的数字。这样,在if语句,a会被转换为数字进行比较。 引用\[2\]提到了==的转换规则。对于==运算符,会先判断两边的类型是否相同,如果相同则比较值的大小。如果类型不同,则会进行类型转换。转换规则包括将String类型转换为Number类型,将Boolean类型转换为Number类型,将Object类型转换为原始类型后再进行比较等。 综上所述,题目的代码涉及了对象转换为数字和==运算符的类型转换规则。这是JavaScript数据类型转换的一种练习题。 #### 引用[.reference_title] - *1* *3* [JS几种数据类型转换(内含练习题)](https://blog.csdn.net/BoZai_ya/article/details/117717329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [js类型转换,面试必考](https://blog.csdn.net/weixin_39838846/article/details/124136250)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值