此代码的工作:为什么数组项目上的函数调用会产生“不是函数”错误?
function forEach (list, callback) {
for (var n = 0; n < list.length; n++) {
callback.call(list[n], n);
}
}
下列不:
function forEach (list, callback) {
for (var n = 0; n < list.length; n++) {
list[n].callback(n); // Uncaught TypeError:
// list[n].callback is not a function
}
}
注:在每种情况下,callback
传递了一个匿名函数与一个参数,像这样:
forEach(array, function(index) {
// log to console...
});
因为'list [n]'不是具有'callback'属性的对象。 – Barmar
@Barmar谢谢。 – Sabuncu