Javascript iLife,对象

Javascript iLife,对象,javascript,object,reference,Javascript,Object,Reference,请给我一些链接,以帮助我理解这一点 var obj = { a: 1 }; (function(obj) { obj = { a: 2 }; })(obj); console.log(obj.a); 注销1,而此 var obj = { a: 1 }; (function() { obj = { a: 2 }; })(); console.log(obj.a); 注销2是因为在示例1中,您正在创建一个新名称obj作为参数,并且它将被覆盖,而不是

请给我一些链接,以帮助我理解这一点

    var obj = {
  a: 1
};
(function(obj) {
  obj = {
    a: 2
  };
})(obj);
console.log(obj.a);
注销1,而此

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

注销2是因为在示例1中,您正在创建一个新名称
obj
作为参数,并且它将被覆盖,而不是使用传入的值。在示例2中,
obj
正在关闭并替换。

函数(obj)
正在隐藏全局变量
obj
链接?