javascript - 在 for 循环内调用对象的函数 - JavaScript

标签 javascript object methods invoke

我有一个名为 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/

相关文章:

java - 为什么我得到空对象数组的 NullPointerException 但该对象具有默认构造函数?

Javascript 抽认卡学习应用程序

java - 有 3 个参数但接受一个参数的方法?

JavaScript XMLHttpRequest.onreadystatechange

javascript - 为什么tippyjs光标指针和单击无法按预期工作

java - 销售点 - 卡在阵列上

methods - 向元类添加方法

ruby - RSpec -- 测试方法是否调用了它的 block 参数

javascript - 如何并行异步等待多个 promise ? [语法错误: await is a reserved word]

javascript - 在 Matter.js 中禁用重力