js基本数据类型和引用数据类型

JS基本数据类型和引用数据类型

自己写的博客还是没事多看看,哎,写过了用的时候自己都不记得了!!!置顶提醒自己居然犯了一个这么低级的错误

  1. 基本数据类型:基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中的一个位置;

    基本数据类型的达到非比寻常调用赋值不会改变原来的值


    个人理解基本数据类型就是一段值
     

    var a=1;
    var b=a;
    b=2;
    console.log(a); //1
    console.log(b); //2
  2. 引用数据类型:。是指那些保存堆内存中的对象,意思是变量中保存的实际上只是一个指针,这个指针指向内存中的另一个位置,位置该对象保存

    个人理解引用数据类型就是多段值, (比如一个对象)
     
    var a={x:1,z:2};
    var b=a;
    a.x=123123;
    console.log(a); //{x:123123,z:2}
    console.log(b); //{x:123123,z:2}
    引用数据类型时b改变了值也把一个的值改变了,这就牵涉到一个深拷贝和浅拷贝的问题了,,
    深浅拷贝以后慢慢补充....(深浅拷贝问题只存在于引用数据类型中);



     


整理:

1)基本数据类型:在将一个保存着原始值的变量复制给另一个变量时,会将原始值的副本赋值给新变量,此后这两个变量是完全独立的,他们只是拥有相同的值而已。可以直接访问。

2)引用数据类型:在将一个保存着对象内存地址的变量复制给另一个变量时,会把这个内存地址赋值给新变量,也就是说这两个变量都指向了堆内存中的同一个对象,他们中任何一个作出的改变都会反映在另一个身上这里要理解的一点就是,复制对象时并不会在堆内存中新生成一个一模一样的对象,只是多了一个保存指向这个对象指针的变量罢了)。通过他在内存中的地址然后按照这个地址去取对应的值


 

猜你喜欢

转载自blog.csdn.net/qq_38880700/article/details/83339987