javascript – 在jQuery的每个方法中,“callback.call(value,i,value)”的含义是什么?

jQuery中的each()方法包含如下语句:

callback.call( value, i, value ) 

我不明白这个陈述是什么意思。

我知道什么回调和调用的意思,但我无法得到函数调用的参数:(value,i,value)。这是什么意思?

该语句用于每个()的块,但我的问题独立于该上下文。

从jQuery源码:

for ( var value = object[0];
      i < length &&
      callback.call( value, i, value ) // <=== LOOK!
      !== false;
      value = object[++i] ) {}
Javascript中的所有函数都存在调用方法。它允许您调用该函数,并在此功能中设置此值的值。

function myFunc() {
    console.log(this);
}

myFunc.call(document.body);

在这个例子中,myFunc中的这个是document.body。

call的第一个参数是要设置的值。后续参数作为普通参数传递给函数。所以,在你的例子中:

callback.call( value, i, value )

这相当于

callback(i, value)

除了在回调之内,现在也设置为值。

http://stackoverflow.com/questions/4065353/what-is-the-meaning-of-callback-call-value-i-value-in-jquerys-each-metho

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:javascript – 在jQuery的每个方法中,“callback.call(value,i,value)”的含义是什么?