JavaScript隐式类型转换

目录

 

简介:

一.数学运算符中的类型转换 

(1)减、乘、除 

 (2)加

 二.逻辑语句中的类型转换

 (1)单个变量

 (2)使用==比较


简介:

例如String(),Number(),parsenInt(),toString()..等类似的方法,此类由我们手动转换类型的方式,称为显示类型转换

js变量的类型是由值的类型来决定的,为了解决不同类型无法进行计算,JS底层会将不同类型转换为同一类型,由JS运行环境自动帮我们去做的类型转换,称为隐式类型转换

一.数学运算符中的类型转换 

(1)减、乘、除 

规则:

在对各种非 Number 类型运用数学运算符  - * /  时,会先将非 Number 类型转换为 Number 类型

1. 2-true //1 首先将true转换为数字1,然后再执行 2-1

2. 2-null //2 首先将null转换为数字0,然后再执行 2-0

3. 2*undefinned // NaN undefined转换为数字NaN

4. 2*['5'] //10 ['5']首先会变成'5',然后再转换为数字5

 (2)加

+ 相比与其它数字运算符,还可以用来拼接字符串

规则: 以下三条优先级从高到低

1. 当一侧为String类型,将被识别为字符串拼接,并且会优先将另一侧转换为字符串类型 

2. 当一侧为Number类型,另一侧为其它基本数据类型时,会将另一侧转换为Number类型

3. 当一侧为Number类型,另一侧为引用类型时,将两侧都转化为字符串进行拼接

 二.逻辑语句中的类型转换

 (1)单个变量

 2b1aa25dd7c04cbb9d5e5957e9fbb80d.png

 (2)使用==比较

这种比较分为两类

  • 类型相同
  • 类型不同 类型相同时不会发生隐式转换,于是我们只谈类型不同之时,这里的规律比较复杂,不过只要牢记一个点,进行+运算时是

如果获取的原始值当中包含String,则对所有原始值执行toString处理后进行拼接 

而进行逻辑运算时,刚好相反 

如果获取的原始值当中包含String,则尽量将String转为Number类型后进行比较 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值