function SuperType(name) {
this.name = name;
this.colors = ["red", "blue", "green"];
}
SuperType.prototype.sayName = function() {
alert(this.name);
}
// 方式一
function SubType(age) {
this.age = age;
}
SubType.prototype = new SuperType();
SubType.prototype.syaAge = function() {
alert(this.age);
}
// 方式二
function SubType() {
SuperType.call(this, "Jerry");
}
// 方式三,推荐
function SubType(name, age) {
SuperType.call(this, name);
this.age = age;
}
SubType.prototype = new SuperType();
SubType.prototype.sayAge = function() {
alert(this.age);
}
// 方式三,推荐
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 SubType(name, age) {
SuperType.call(this,name);
this.age = age;
}
inheritPrototype(SubType, SuperType);
SubType.prototype.sayAge = function() {
alert(this.age);
}