为数组中的每个对象调用内部方法

calling internal method for each object in an array

我有一个带有属性和方法的 "class"。我在代码的其他地方的数组中有 class 的实例。现在我想遍历所有这些并为每个调用一个方法。像这样:

arr.forEach(draw());

但是它当然会查找不存在的全局函数 draw()。在这种情况下如何访问对象的方法?

我是 javascript 的新手,所以我认为这可能是一个愚蠢的问题,但由于某种原因我找不到答案。

forEach 接受一个接受 3 个参数的回调,即数组元素、索引和数组。你只需要第一个。将对 draw() 的调用包装在一个匿名函数中,然后在函数调用的元素上调用它。

arr.forEach(function(elem) { elem.draw(); });

这里是 forEach 函数的文档https://msdn.microsoft.com/library/ff679980(v=vs.94).aspx

forEach 第一个参数是一个 callback 函数...该函数接收 3 个参数,第一个是该数组中的每个对象.

arr.forEach(function(element){
  draw()
});

其中元素是您要访问的对象。