Base.js --継承の実装 ==========================
[注]: 継承後、親クラスがclass の場合、そのプロパティ、メソッド (プロトタイプで宣言されたものを含む)、および静的メソッドが継承されます。それ以外の場合は、プロパティとメソッドのみが継承されます。
Object.prototype.extendf= function (a ,b) {
if(!a||!b) return;
var fa = typeof a=="function";
var fb = typeof b=="function"; cha = function (a,b){
for(var c in b){
if(a[c]==unknown)//サブクラス書き換え
a[c]=b[c];
}
return a; // 継承されたオブジェクトを返します
}
if(fa&&fb){
b.apply(this,a.arguments);
cha(a,b) );
this["base"] =new b;//base を通じて親クラスにアクセスします
return cha(this,b.prototype);
else if(!fa&&fb){
cha(a,new b);
a["base"]= new b;
return cha(a,b);
cha (a,b);
this["base"]=b;
return cha(this,b)
}else if(!fa&&!fb){
a["base " ]=b;
return cha(a,b);
}
}
テストページ: 使用法