【发布时间】:2013-02-15 17:20:54
【问题描述】:
我在 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()。如果我清楚或没有错,那么第一个警报应该是假的,第二个警报应该是真的。
请指导我解决这个问题,如果我完全走错了路,请向我解释我做错了什么?
【问题讨论】:
标签: javascript jquery