Douglas Crockfordによると、 http://javascript.crockford.com/prototypal.htmlのようなものを使用できます(少し調整して)...しかし、jQueryの方法に興味があります。$ .extendを使用するのは良い習慣ですか?
私は4つのクラスを持っています:
var A = function(){ }
A.prototype = {
name : "A",
cl : function(){
alert(this.name);
}
}
var D = function(){}
D.prototype = {
say : function(){
alert("D");
}
}
var B = function(){} //inherits from A
B.prototype = $.extend(new A(), {
name : "B"
});
var C = function(){} //inherits from B and D
C.prototype = $.extend(new B(), new D(), {
name : "C"
});
var o = new C();
alert((o instanceof B) && (o instanceof A) && (o instanceof C)); //is instance of A, B and C
alert(o instanceof D); //but is not instance of D
だから、私はすべてのメソッド、プロパティを呼び出すことができます... A、B、C、Dから。oがDのインスタンスであるかどうかをテストしたいときに問題が発生しますか?どうすればこの問題を克服できますか?