0
不知道該怎麼說,我基本上想擴展我的類屬性,以便用戶可以覆蓋它們。不過,我更喜歡將屬性擴展爲自我執行的匿名函數。從匿名函數引用自我
var extend = function(target, sources) {
if (!sources.length) return target;
const source = sources.shift();
if (isObject(target) && isObject(source)) {
for (const key in source) {
if (isObject(source[key])) {
if (!target[key]) Object.assign(target, { [key]: {} });
extend(target[key], source[key]); // <-- Line 9
} else {
Object.assign(target, { [key]: source[key] });
}
}
}
return extend(target, sources);
}.call(this, this, [ defaults, options ]);
這似乎工作直至第9行(見上面的代碼評論)。它似乎無法引用它自己。但是,如果這是一個命名的函數而不是匿名的,這似乎工作正常。
我該如何得到這個工作?