这个问题在这里已有答案:
请给我一些链接,以帮助我理解这一点
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中,您创建了一个新名称qazxswpoi作为参数,并且它被覆盖而不是使用传入的值。在示例2中,obj
正在被关闭并被替换。