文章出處
文章列表
有下面這樣的一段代碼:
function a(){
this.foo = function(){
console.log('foo');
}
}
var b = {};
請問如何讓b繼承a?
b.__proto__ = new a();
b.__proto__.constructor = Object;
注意不能寫成
b.proto = a.prototype
因為a函數中的代碼,并不屬于prototype對象。
如果a也是一個對象呢
var a = {
foo:function(){
console.log('foo');
}
};
var b = {};
請問如何讓b繼承自a
b.__proto__ = a;
如何實現多重繼承
雖然javascript并不提供多重繼承,但我們可以借用多個對象來實現。
var a = {
fn:function(){
console.log(133);
}
};
var b = {
a:1
};
b.__proto__ = a;
b.__proto__.constructor = Object;
var c = {};
c.__proto__ = b;
但這也是有缺陷的,平白無故將b的原型加到了a上。
文章列表
全站熱搜