说真的没明白

说真的没明白

讲的是引用类型在赋值的时候存在着两种使用场景,对吧,第一种使用场景到底比较的是什么,是我两个类型书写时都不相同,在控制台判断它们是否相同?

还是说我两个书写的类型都是同一个类型的,只是比较里面的值是不是相同?

完全的懵了

第一种和第二种到底比较的都是个啥,我理解的是第一种是三个===的比较,第二种是两个==的比较

那根据讲的还是不对,三个===的前提至少得是值相等的前提下然后再去比较类型是否相等

两个等号是单纯比较的值是否相等

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,从你的描述中, 老师觉得你主要还是对全等于(===)和等于(==)之间的作用存在疑惑。这种方式都可以对基本类型和引用类型进行比较, 不同之处可以参考下面的理解

  1. 全等于(===), 同时比较数据类型和值, 都满足才会返回true,否则就是false。示例:

  2. 等于(==), 只比较值。值相等即返回true, 否则就是false

示例:

http://img1.sycdn.imooc.com//climg/5d2b12d20001ba1c06650126.jpg

不同类型的也可以比较,但是一般这种比较没有太大的意义呀, 因为不管是使用等于(==)还是全等于(===),肯定都是返回false了。示例:

http://img1.sycdn.imooc.com//climg/5d2b13370001644007220284.jpg

其实同学主要是需要记住(===)是严格的, 需要数据类型和值都相等才算相等, (==)是只要值相等算就相等了

同学可以结合老师这两次给你的示例, 练习一下, 根据代码实现的效果, 总结一下, 加深理解哦

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~

好帮手慕慕子 2019-07-14 18:53:40

同学你好, 请问你这里是对视频中讲解引用类型的相等比较有些不理解吗? 如果是指这里的话? 那么可以参考如下所示理解

  1. 如下所示, 这种场景使用是通过全等(===)和等于(==)判断两个对象是否相等, 结果返回的都是false。

    原因: 因为引用类型赋值的时候保存的是对象在内存中地址, 所以xm和xh变量保存是两个不同的内存地址, 所以不管是使用全等还是等于判断返回的都是false

    http://img1.sycdn.imooc.com//climg/5d2b07f0000192f904150284.jpg

  2. 如下所示, 是将变量xm保存的内存地址赋值给xh,那么此时xm和xh的执行的是同一个内存地址, 所以不管是使用全等还是等于进行比较,返回结果都是true

    http://img1.sycdn.imooc.com//climg/5d2b08d60001daa005380418.jpg

综上,可以看出引用类型赋值的时候,保存的是内存地址, 其实同学可以理解为是一个指针指向了内存,不管是使用全等(===)还是等于(==)进行对象的比较, 只有这两个指针同时指向同一个内存地址, 才是相等, 否则就是不相等的

如果不是指这里的话, 建议: 可以在详细的描述一下指的是哪里,便于老师准确的定位和解决问题

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~



  • 提问者 看不穿繁华 #1
    老师你好,我没明白点在于这种比较的方式,前提是两个类型是不是一样的?必须是两个都是相同哦类型,比如同时基本类型,或者同是引用类型才能比较嘛? 比较的是不是两个相同类型的数据类型,里面的值做比较呢?
    2019-07-14 19:01:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师