Javascript IIFE,对象

时间:2018-03-01 18:22:50

标签: 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 个答案:

答案 0 :(得分:-3)

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