以下为JS寄生组合继承的实现方式
function Super(b){ this.b = b; this.fun = function(){} } Super.prototype.c = function(){console.log(1111)} function Foo(a,b){ this.a = a; Super.call(this,b); } var f = new Function(); f.prototype = Super.prototype; Foo.prototype = new f(); var foo1 = new Foo(1,2);
为什么不直接用以下方式,更简洁而且能实现同样的效果
function Super(b){ this.b = b; this.fun = function(){} } Super.prototype.c = function(){console.log(1111)} function Foo(a,b){ this.a = a; Super.call(this,b); } Foo.prototype = Super.prototype; var foo1 = new Foo(1,2);
月关宝盒
相关分类