In the SubClass constructor, object masquerading is used to inherit the color property from BaseClass.
Then prototype chaining is used to inherit the methods of BaseClass.
function BaseClass(sColor) {
this.color = sColor;
}
BaseClass.prototype.sayColor = function () {
alert(this.color);
};
function SubClass(sColor, sName) {
BaseClass.call(this, sColor);
this.name = sName;
}
SubClass.prototype = new BaseClass();
SubClass.prototype.sayName = function () {
alert(this.name);
};
var objA = new BaseClass("red");
var objB = new SubClass("blue", "MyName");
objA.sayColor();
objB.sayColor();
objB.sayName();