JavaScript call()函数
我从John Resig的书中开始学习纯JS,发现call()函数的示例非常不清楚:JavaScript call()函数,javascript,Javascript,我从John Resig的书中开始学习纯JS,发现call()函数的示例非常不清楚: function forEach (list, callback) { for (var i = 0; i < list.length; i++) { callback.call(list[i],i) }; } var strings = [ 'hello', 'world', '!']; forEach(strings, function(index){ co
function forEach (list, callback) {
for (var i = 0; i < list.length; i++) {
callback.call(list[i],i)
};
}
var strings = [ 'hello', 'world', '!'];
forEach(strings, function(index){
console.log(strings[index]);
});
函数forEach(列表,回调){
对于(变量i=0;i它是如何工作的?有人能解释一下吗?调用
方法用于在特定上下文中调用函数(换句话说,使用this
的特定值)。该示例在当前列表项的上下文中调用回调
函数,并传入i
的值:
forEach(strings, function(index){
console.log(this); // "String ['hello']" etc...
console.log(index); // "0" etc...
});
如果正常调用回调
函数(没有调用
方法),则上下文将是全局对象或未定义的
(如果代码在严格模式下运行)。您对调用了解多少?i、 你的出发点是什么?您是否阅读过文档,例如关于的文档?要调用的第一个参数是方法的this
指针,第二个(以及后续)参数是作为参数传递给函数的参数。