重新分配变量值后,返回值未定义


var player = { score: 3 };
function doStuff(obj) {
obj = {};
}
player = doStuff(player);

这是一个非常简单的问题,我相信有一个非常简单的答案,但我似乎无法通过逻辑来解决问题。末尾的player返回值返回undefined。这是我对这里正在发生的事情的看法。var player被定义并初始化为对象。然后将player的值重新分配给函数doStuff(player)值。player的值是否只是未定义,因为函数调用本身没有返回值?

是的,该值undefined,因为您的函数不返回任何内容。

True。

例:

var player = { score: 3 };
console.log(player);        // player is now Object { score: 3 }
function doStuff(obj) {
obj = {};
}
player = doStuff(player);    // player is now replaced by an undefined object
console.log(player)

最新更新