对象引用的问题

var obj={a:1}
function a(obj) {
    obj={}
    obj.a=2
}
a(obj)

以上代码对obj执行函数a后,obj.a依旧等于1,为什么?

阅读 1.4k
2 个回答
var obj={a:1}
function a(obj) { // 形参
    obj={} // 重置形参
    obj.a=2
}
a(obj)

你重置的是 obj 的引用, 外面的 obj 还是指向原来的地址

你在外部打印的obj 他肯定会访问window.obj;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题