将a得内存得内容保存到b 只是a的内容是一个地址值
2个引用变量指向同一个对象:保存的内容都是指向同一个地址值
通过一个变量修改对象内部数据,另外一个变量看到的是修改后的数据
将一个变量赋值给另外一个变量 是拷贝右边变量的内容
如果右边变量是一个地址 那么拷贝的就是地址
如果右边变量是一个数据,那么拷贝的就是数据
如果直接var b = {name: 'tom'} 则指向的是两个对象了 a.name的值的改变 不会引起b.name的改变
var obj1 = {name: 'Tom'}
var obj2 = obj1 // 指向的是对象的地址
obj2.age = 20
console.log(obj1.age) // 20
function fn(obj) {
obj.name= 'ddd'
}
fn(obj1)// 函数也是一个对象 所以也是指向的是一个地址
console.log(obj2.name) //'ddd' 所以obj2也同样改变
2个引用变量指向同一个对象,让其中一个引用变量指向另一个对象,另外一个引用变量依然指向之前那个对象
函数执行后 函数内部的局部变量会被释放