js中的隐式转化

js运算中的隐式转化

什么时候存在隐式转化?

1 进行运算时
2 左右两边操作数不是相同的数据类型
3 操作数中有引用数据类型时

算数运算符

1、当对非number类型的值进行运算时,会先将这些值转换为number然后再运算(除了字符串)。
2、加法运算时,比较特殊,当对两个字符串进行加法运算时,会做拼串,就是将两个字符串拼到一起,并返回。任何值和字符串相加都会先转成字符串再做拼串操作。我们可以利用这个特点来将任意一个数据类型转为string,只需加一个空串即可。

逻辑运算符

1、!运算:对于非布尔值,会先将其转为布尔值再进行运算。
2、&&运算:对于非布尔值,会先将其转为布尔值再进行运算,并返回原值。
3、||运算:对于非布尔值,会先将其转为布尔值再进行运算,并返回原值。

关系运算符

只有数字之间能进行关系的比较。所以非数值进行比较时,会先将其转为数字型的值再比较。但是如果符号两边的值都是字符串时,不会转成数字比较,而是比较字符的Unicode编码值。任何值和NaN作比较都是false。

对象的隐式转化

在默认隐式转化中,所有的对象都转化为[object object]。
所有引用类型的数据需要运算时,只能先转成字符串,再由字符串转为其他类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值