1
我有一个对象称为foo
:调用对象的函数内for循环 - 的JavaScript
function Foo(){
this.conceal = function(){ ... };
};
和一个名为toggleView
方法,它遍历的foo
集合,并呼吁每个实例conceal()
方法:
function toggleView(foos){
for(a in foos){
foos[a].conceal();
}
}
,当然,foos[a].conceal();
回报:隐藏不是一个函数
有没有足够的代码在这里,看看有什么是错的。如果'foos'确实是一个数组,你应该使用一个带有数字索引的普通'for'循环,或者'.forEach()'来迭代。但是,你应该有什么工作,除非'foos'不是你说的那样。 – Pointy
循环正在访问一个不包含'Foo'实例的属性。请注意,for..in'循环并不严格限于索引。相关:[为什么使用“for ... in”与数组迭代是一个坏主意?](https://stackoverflow.com/questions/500504/why-is-using-for-in-with-array-iteration-a-坏主意) –
你确定你使用'new'来创建Foo实例吗? – elmasse