【发布时间】:2015-06-18 21:01:16
【问题描述】:
给我这两个简单的例子是为了解释javascript中的对象。我理解第一个示例,但我无法理解的是为什么在第二个(高度相似)示例中 o 没有被空对象覆盖?
function foo(obj) {
obj.x = 7;
}
var o = {x: 5};
foo(o);
console.log(o.x); // 7
在我看来,在以下示例中,应该记录 undefined:
function foo(obj){
obj = {};
}
var o = {x: 5};
foo(o);
console.log(o.x); // 5
但不是,怎么会?这两个示例有什么区别,导致o 在第二个示例中不会被覆盖?
【问题讨论】:
标签: javascript