为什么js的==能自动转换类型呢?

发布网友 发布时间:2022-04-24 05:57

我来回答

2个回答

热心网友 时间:2022-04-22 12:07

你好,根据你的描述,我想你可以参考如下:

==符号在判断左右两边数据是否相等时,如果数据类型一致,直接比较值即可

==符号左右数据类型不一致时,如果两方数据为布尔型、数值型、字符串型时,不为数字的那一方自动调用Number()方法

Number(mix)使用方法如下

Number()使用规则


如果觉得满意,望采纳!提问者的点赞和采纳就是我们回答者的动力和追求,谢谢!

热心网友 时间:2022-04-22 13:25

这里有个js的概念: 隐式类型转换。 当你使用比较运算符时,js会进行隐式类型转换。
如果你又问,为什么会隐式类型转换呢,那我只能回答:这是js语言本身的特性,内部约定的。
隐式类型转换是遵循一定原则的
1. 两个数字比较时是不存在隐式类型转换的
2. 数字和非数字比较时,会将非数字的一方隐式转换成数字,然后进行比较。
3. 两个字符串进行比较时, 会将其第一个字母转成对应的ASCII,然后进行比较, 比如 'a' > 'b', 会先将a 和 b 分别转换为其ASCII值: 97, 98, 因为 97 小于98,所以 'a' > 'b' 为 false。
4. 两个boolean 类型比较时,true会被转换成1,false 会被转换为 0。
5. 两个对象进行比较时,会先调用其 valueOf方法,然后再进行比较。

基本就这些了,更多这方面的知识,需要你自己去加深了解了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com