チートシートなので詳細な説明一切なしです。
サブクラスの書き方。 ClassNameというクラスは定義済みとします。
var SubClassName = (function () { // subclass
function SubClassName() { // public constructor
// call superclass constructor
ClassName.call(this, "paramValue");
// add public instance property
this.subPropName = "subPropValue";
}
// configure prototype
SubClassName.prototype = new ClassName();
SubClassName.prototype.constructor = SubClassName;
// add public instance method
SubClassName.prototype.subFuncName = function () {
};
return SubClassName; // return constructor
})();
// test instanceof
var instance = new ClassName("paramValue");
var subInstance = new SubClassName();
alert(instance instanceof ClassName); // true
alert(instance instanceof SubClassName); // false
alert(subInstance instanceof ClassName); // true
alert(subInstance instanceof SubClassName); // true