在下面的代码中,我不确定[]
应该表示什么。我假设它只是象征着最近声明的数组。任何人都可以澄清吗?
var lists = [racersList, volunteersList];
[].forEach.call(lists, function(list) {
...
});
答案 0 :(得分:17)
这是一个空数组。它究竟是什么阵列并不重要;它只需要一些数组来获取数组的forEach
方法。您也可以使用Array.prototype.forEach
直接获取它,而不是创建一个空数组并从中挖掘forEach
。
当您拥有类似于数组的对象(例如NodeList
;包含length
,0
,1
,2
等时,通常会使用此方法。properties)但实际上不是数组。类似数组的对象没有数组方法,但是如果你可以使用适当的this
(使用call
实现)运行数组方法,它们仍然可以工作。
由于这里实际上有一个真正的数组而不是像这样的对象,你可以直接调用forEach
,例如lists.forEach(...)