demo1
function warp(obj){
obj.age=18;
}
var obj={};
warp(obj);
console.log(obj);
- 输出:{age: 18},这个很好理解,函数参数obj实际是实参obj的一个引用副本,指向同一个内存地址
demo2
function warp(obj){
obj={};//注意这里
obj.age=18;
//console.log(obj);//{age: 18}
}
var obj={};
warp(obj);
console.log(obj);
- 输出:{},注意,此时函数中的obj引用已经变了,它指向一个新的内存地址,并且不会影响到外部的obj