两个值相同,结构不同的对象变量,===的结果是true还是false呢?

来源:5-9 其他操作符

仙西娅

2020-07-07 02:14:02

比如说,对象A的数据是{"15",0},对象B的数据是{15,0},这样呢?

写回答

1回答

好帮手慕码

2020-07-07

同学你好,解答如下:

首先,如下写法是错误的,会报错:

http://img.mukewang.com/climg/5f03db3c092c9f5e02110058.jpg

另,关于 “==”和“===”总结一下:

(1)对于string,number等基础类型,==和===是有区别的

  • 1)不同类型间比较,==之比较后,转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等

  • 2)同类型比较,直接进行“值”比较,两者结果一样

(2)对于Array,Object等高级类型,==和===是没有区别的

  • 进行“指针地址”比较

总结,假设A和B是对象类型,值是一样的,但是由于地址不一样,所以相比为false。现在提到“指针地址”同学可能不太懂,后面学到面向对象的时候会讲到,同学这里大概了解即可。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~    

2

0 学习 · 40143 问题

查看课程