在JavaScript中,原始类型存的是值,对象类型它所存储的就是地址(指针)了,当我们声明一个对象的时候,会在内存开辟一个存储空间来存放,举个例子:
//声明一个对象
var a = {
b:0,
c:1
}
console.log(a)// 调用该对象
当调 a 这个对象的时候,就会找到声明a这个对象的存储空间,并获取到它的值。
var a = {
b:0,
c:1
}
var b = a
console.log(b)// 实际上调用的是a的副本
如上面代码,将a变量赋值给b变量,b也指向了a的指针(地址),b存的是a的副本(引用),实际上就是b变量复制了a变量的地址。
所以,当我们修改b变量的时候,a 和 b 都会发生变化,因为两者之间是用的同一块空间。