- 实现原理:
- 在JavaScript中,对象具有可扩展性,可以使用
Object.assign()
方法或手动遍历源对象属性的方式来实现混入模式。Object.assign()
方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,它会修改目标对象并返回修改后的目标对象。手动遍历则是通过for...in
循环遍历源对象的属性,并将其添加到目标对象中。
- 代码示例:
// 源对象
const source = {
method1: function() {
console.log('This is method1');
},
property1: 'value1'
};
// 目标对象
const target = {};
// 使用Object.assign实现混入
Object.assign(target, source);
// 调用混入后的方法和属性
target.method1();
console.log(target.property1);
// 源对象
const source = {
method1: function() {
console.log('This is method1');
},
property1: 'value1'
};
// 目标对象
const target = {};
// 手动遍历混入
for (let key in source) {
if (source.hasOwnProperty(key)) {
target[key] = source[key];
}
}
// 调用混入后的方法和属性
target.method1();
console.log(target.property1);