我有一个名为 foo
的对象:
function Foo(){
this.conceal = function(){ ... };
};
还有一个名为 toggleView
的方法,它迭代 foo
的集合并在每个实例上调用 conceal()
方法:
function toggleView(foos){
for(a in foos){
foos[a].conceal();
}
}
当然,foos[a].conceal();
返回:conceal 不是函数
最佳答案
function Foo(){
this.conceal = function( item ) {
console.log(item); // "a" "b" "c"
};
};
function toggleView(foos) {
var myFoo = new Foo(); // Create new instance (here or outside this fn)
for(a in foos){
myFoo.conceal(foos[a]); // use your instance and pass as items arg. reference
}
}
toggleView(["a","b","c"]);
将 toggleView
设为 Foo
的原型(prototype)的示例
function Foo(){
this.conceal = function( item ) {
console.log(item); // "a" "b" "c"
};
}
Foo.prototype.toggleView = function(foos) {
for(a in foos){
this.conceal(foos[a]); // invoke .conceal Method using `this` reference
}
}
var myFoo = new Foo(); // Create new instance
myFoo.toggleView(["a","b","c"]);
关于javascript - 在 for 循环内调用对象的函数 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37529825/