Javascript原始值与引用值

79 阅读1分钟

原始值

最简单的数据

引用值

由多个值构成的对象

在把一个值赋值给一个变量时,JavaScript引擎必须确定这个值是原始值还是引用值。

保存原始值的变量是按值访问的,因为我们操作的就是存储在变量中的实际值。

image.png

引用值是保存在内存中的对象。与其他语言不同,JavaScript不允许直接访问内存位置,因此也就不能直接操作对象所在的内存空间。在操作对象时,实际上操作的是对该对象的引用而非实际的对象本身。为此,保存引用值的变量是按引用访问的。

在我学习C语言时,里面的指针就类似于此 image.png

属性

引用值有属性,并且可以对其操作

image.png

也可以给原始值添加属性,不会报错,但不会有用

image.png

复制

原始值

image.png

引用值

image.png

这个时候也可以看到,为什么修改obj1的属性,obj2也会跟着变。