js值类型和引用类型的区别

1.存储位置不一样

值类型存住在栈中,引用类型存储在堆中

2.复制方式不一样

值类型直接赋值就是复制,引用类型的变量直接赋值实际上是传递引用,只是浅复制

3.值类型无法添加属性和方法,引用类型可以添加属性和方法

4.值类型的比较是值的比较,只有当它们的值相等的时候它们才相等,引用类型是引用地址的比较

(比较的时候==是在比较的时候做了类型转换,而===是值和类型相等才能相等)

5.在函数中的使用

值类型的变量在函数中被修改时,只在函数作用域内部生效,函数被销毁后此次修改立即失效

而引用类型在函数中被修改时修改的是运行时数据区中的值,即使函数被销毁,变量的值依旧被改变。

 

posted @ 2022-08-02 16:23  Alice&Black  阅读(159)  评论(0编辑  收藏  举报