You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
781 B
JavaScript

(function(window) {
window.CONFIG = {}
})(window);
/**
* 对象属性合并,与 Object.assign 语法不同
* @param target
* @param source
* @returns {{}}
*/
function configDeepMerge(target, source) {
var merged = {};
for (var each in source) {
if (target.hasOwnProperty(each) && source.hasOwnProperty(each)) {
if (typeof target[each] == "object" && typeof source[each] == "object") {
merged[each] = configDeepMerge(target[each], source[each]);
} else {
merged[each] = source[each];
}
} else if (source.hasOwnProperty(each)) {
merged[each] = source[each];
}
}
for (var each in target) {
if (!(each in source) && target.hasOwnProperty(each)) {
merged[each] = target[each];
}
}
return merged;
}