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

246 阅读1分钟
基本数据类型(6个):number string boolean null undefined symbol            (保存的是值)
引用数据类型:object function array Date RegExp(注:引用数据类型统称为object) (保存的一个地址)
存放的地址:基本数据类型存放在栈中,引用数据类型存放在堆中(在内存中开辟了一个空间)
区别:
1.基本数据类型一个改变的时候不会影响其他的改变
    var a=123
    var b=a
    a++
    console.log(a)//124
    console.log(b)//123
    这个列子说明a的变化不会引起b的变化
引用数据类型一个值的改变会影响其他值的改变(保存的为同一个对象的引用)
    var obj1=New object
    var obj2=obj1
    obj1.name='zhangsan'
    console.log(obj1)//zhangsan
    console.log(obj2)//zhangsan
    这个列子说明obj1的变化会引起obj2的变化
 将obj设置为null时怎样变化
    var obj1=New object
    var obj2=obj1
    obj2=null
    console.log(obj1)//zhangsan
    console.log(obj2)//null
注:当我们在js中new的时候就是在内存中开辟一个空间
 var obj=new object
 obj.name='sss'
 (obj为变量名 变量值为一个指向堆中的地址 开辟的空间才是存放值所在的地方)

若将obj1=null此时obj不会改变,只是断开了obj1与空间的链接