zoukankan      html  css  js  c++  java
  • 为什么obj不等于obj?

      近几日,在学习jQuery时,发现了一个有趣的现象。即obj不等于obj, 我们先来看一下代码示例。

    var obj = {};
    var obj1 = {};
    console.log(obj === obj1);  

      以正常的角度理解:我们在js中,创建了两个空对象,其值应该相等才对。

        但是,答案并非如此。 打印的结果为:false

      那这又是为什么呢?

    • 其实要解决这个问题,我们还要先从JS中的基本数据类型和引用数据类型说起。

      上一篇文章,已经为大家介绍了JS中的两种数据类型:基本数据类型值,引用类型数据值。

      如果大家还有印象的话,其实本例中的obj对象,属于引用类型的值。

      引用类型的值存放于堆内存中。

      

      根据上图我们可以发现,虽然两个obj对象都没有被赋值,但其实在堆内存中他们指向的对象并不是同一个对象。

      所以,这也就解释了为什么obj不等于obj的现象。

      

  • 相关阅读:
    Volume 6. Mathematical Concepts and Methods
    git帮助网址
    ubuntu 下安装wine
    ubuntu 通过ppa源安装mysql5.6
    ubuntu qq安装
    ubuntu14.04 fcitx安装
    language support图标消失
    ubuntu root用户登陆
    ubuntu 安装codeblocks13.12
    ubuntu tomcat自启动
  • 原文地址:https://www.cnblogs.com/AimeeCodeWorld/p/6591623.html
Copyright © 2011-2022 走看看