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

calling internal method for each object in an array

本文关键字:对象 调用 内部 方法 数组      更新时间:2023-09-26

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

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第一个参数是一个回调函数…该函数接收3个参数,第一个是该数组中的每个对象。

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

其中element是要访问的对象