数据类型的区别

99 阅读1分钟

存储的区别

js
复制代码
    基本数据类型 
        存储在 栈内存中
    引用数据类型 
        存储在堆里 ,指向的是 堆内存地址,存放在数组名或者对象名中
        数组名或者对象名存放在栈内存中

赋值的区别

js
复制代码
    基本数据类型
        赋值以后,两个变量没有关系,相当于将我自己的一个东西,复制一份给你,你的就是我的,
        我的就是你的
    引用数据类型
        赋值以后,两个变量操作一个存储空间,相当于我将房间的钥匙复制一份给你,你可以自由进出
        房间,或者对这个房间进行修改,同样我也可以
        
     两种数据类型
         基本数据类型
             直接存储在 栈内存中
         引用数据类型
             将数据类型本体存放在堆内存中,变量名存储在栈内存中,变量名内存存储着指向堆的地址
     

比较的区别

js
复制代码
    基本数据类型是 值 的比较
    引用数据类型是 地址 的比较

传参的区别

js
复制代码
    基本数据类型:
        将变量内部的数据复制一份,传递给对应的形参,所以函数内对这个形参的修改不会影响外界
    引用数据类型:
        将变量内部的地址赋值一份,传递给对应的形参,此时函数内部形参和变量的内部存储
        的是同一个地址,所以在函数对这个形参的一些修改,会影响外界