有一个JavaScript函数,我们称之为“primary”,它包含另一个函数,将其命名为“secondary”。
逻辑是primary获取一个对象,将该对象传递给secondary,然后secondary将另一个键/值添加到给定对象中,最后primary返回该对象。
function primary(objA) {
function secondary(obj, key, value) {
obj[key] = value;
}
let key = 'newkey';
let value = 'newvalue';
secondary(objA, key, value);
return objA;
}
令人惊讶的是,objA
已更改。
{
key: "value",
newkey: "newvalue"
}
我的问题是,如果不返回修改后的对象,辅助函数如何更改obj!?
是因为次要是在初级范围内吗?我需要一个完整的解释。