我在javascript中使用继承。我陷入了一种情况,我必须检查第一个对象是否在第二个对象中继承。例子 :
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 的第二个对象的检查,即ChildCollection[1].Check()
. 如果我清楚或没有错,那么第一个警报应该是错误的,第二个警报应该是真的。
Please guid me to solve this issue and sorry if i am on totally on wrong track and please explain me what i am doing wrong ?