<h1>2.4老师不止一位——多继承</h1>
<p>JavaScript中继承是依赖prototype链实现的,只有一条原型链,所以理论上是不能继承多个父类的。
然而JavaScript是灵活的,通过一些技巧方法你却可以继承多个对象的属性来实现类似多继承。</p>
<p>讲解多继承之前先说一下当前很流行的一个用来继承单对象属性的extend方法。</p>
<script>
//单继承 属性复制
var extend = function(target, source) {
//遍历源对象中的属性
for ( var property in source) {
//将源对象中的属性值赋值到目标对象中
target[property] = source[property];
}
//返回目标对象
return target;
};
</script>
<p>PS:这个extend方法是一个浅复制过程,他只能复制类型的属性,对于引用类型的属性他无能为力。而jQuery等一些框架实现了深度复制,就是将源对象中引用类型的属性在执行一遍extend方法而实现的。</p>
<script>
var book = {
name: "javascript设计模式",
alike: [ "css", "html", "javascript" ]
};
var anotherBook = {
color: "red"
};
extend( anotherBook, book );
console.log( anotherBook.name );
console.
js多继承实现
最新推荐文章于 2023-06-09 20:47:26 发布