标签:style blog io ar color sp on div log
//对象克隆 function object(o){ function F(){} F.prototype = o; return new F(); } //原型继承 function inheritPrototype(subType,superType){ var prototype = object(superType.prototype); prototype.constructor = subType; subType.prototype = prototype; } function SuperType(name){ this.name = name; this.colors = [1,2]; } SuperType.prototype.sayName = function(){ alert(this.name); } function SubType(name,age){ //属性继承 SuperType.call(this,name); this.age = age; } inheritPrototype(SubType,SuperType); //原型继承 SubType.prototype.sayAge = function(){ alert(this.age); }
继承的关键就是 子类的原型是超类的实例引用,所以此方式本质就是将超类的原型赋给一个空的colne对象实例的原型中,然后在将此clone实例赋给子类的原型。
在调用中会走一遍克隆的原型实例和原型而已。
避免了执行2次超类构造函数。
标签:style blog io ar color sp on div log
原文地址:http://www.cnblogs.com/lcw5945/p/4142492.html