JavaScript函数,作用于自身以使用另一个对象扩展自身
我确信我正在尝试做的事情有一个名字,我确信以前有人问过这个问题,但我正在努力寻找一个现有的答案——可能是因为我没有寻找正确的术语。我有一个名为extend的JavaScript函数,它类似于Object.assign,用于将对象合并在一起-在我当前的实现中,我没有访问Object.assign的权限JavaScript函数,作用于自身以使用另一个对象扩展自身,javascript,Javascript,我确信我正在尝试做的事情有一个名字,我确信以前有人问过这个问题,但我正在努力寻找一个现有的答案——可能是因为我没有寻找正确的术语。我有一个名为extend的JavaScript函数,它类似于Object.assign,用于将对象合并在一起-在我当前的实现中,我没有访问Object.assign的权限 function extend(target) { for (var i = 1; i < arguments.length; ++i) { if (typeof argument
function extend(target) {
for (var i = 1; i < arguments.length; ++i) {
if (typeof arguments[i] !== 'object') {
continue;
}
for (var j in arguments[i]) {
if (arguments[i].hasOwnProperty(j)) {
if (typeof arguments[i][j] === 'object') {
target[j] = extend({}, target[j], arguments[i][j]);
}
else if (!target.hasOwnProperty(j)) {
target[j] = arguments[i][j];
}
}
}
}
return target;
}
任何指向现有答案的指针或参考都将不胜感激。您可以将该功能分配给Object.prototype,以实现所需的功能: Object.defineProperty Object.prototype, “扩展”, { 可枚举:false, 值:函数{ const target=this; 对于变量i=0;i
target.extend = function() {
...
this[j] = this.extend(this[j], arguments[i][j]);
...
return this;
};