写一个函数,实现两个对象的混合,不改变原对象,返回一个新对象。
两种实现方法: 第一种:
// 规则:将obj2混合到obj1,相同属性保留obj1的内容
function mixin(obj1, obj2) {
let newObj = {};
for (const key in obj1) {
newObj[key] = obj1[key];
}
for (const key in obj2) {
if (newObj.hasOwnProperty(key)) {
continue;
}
newObj[key] = obj2[key];
}
return newObj;
};
第二种方法就是直接使用Object.assign()
function mixin(obj1, obj2) {
return Object.assign({}, obj2, obj1);
}