JavaScriptで継承を使用しています。First オブジェクトが Second オブジェクトに継承されているかどうかを確認する必要がある状況に陥っています。例 :
function Parent(name)
{
var self = this;
self.Name = name;
self.Check = function() {
for(var i = 0; i < ChildCollection.length ;i++)
{
//here i want to check whether self is the object which is
//inherited in ChildCollection[i]
alert(true or false);
}
}
}
function Child(name)
{
var self = this;
Child.prototype.constructor = Child;
self.Name = name;
}
$(function() {
var ChildCollection = new Array()
for(var i = 1; i <= 2 ;i++)
{
Child.prototype = new Parent("TestParent_" + i);
var child = new Child("TestChild_" + i);
ChildCollection.push(child);
}
ChildCollection[1].Check();
});
上記のコードでは、2 つのクラスParent
とChild
. 子は親を継承します。すべての子オブジェクトを含むグローバルChildCollection
配列を作成しました。親クラスには、作成したいチェック関数があります。ChildCollection
配列をループして、現在のオブジェクトの意味 (self または this) が継承されているか、現在ループされている子オブジェクトの一部であるかを確認する必要があります。
明確にするために、ChildCollection の 2 番目のオブジェクトで check を呼び出しましChildCollection[1].Check()
た。私が明確であるか間違っていない場合、最初のアラートは偽であり、2 番目のアラートは真である必要があります。
この問題を解決するために私を案内してください。私が完全に間違った方向に進んでいる場合は申し訳ありません。何が間違っているのか説明してください。