在Jquery函数(如filter和not)中,可以传递一个传递两个参数的函数。我正在读一本书,它说第一个参数是当前元素的索引,而第二个参数是当前元素。我很困惑。使用第二个参数和使用这个关键词有什么区别。这个关键字是否也指向当前元素?这是否指向当前元素,作为参考,而元素参数是元素。我使用哪一个?Jquery - 将函数传递给过滤器函数,带有两个参数
谢谢!
在Jquery函数(如filter和not)中,可以传递一个传递两个参数的函数。我正在读一本书,它说第一个参数是当前元素的索引,而第二个参数是当前元素。我很困惑。使用第二个参数和使用这个关键词有什么区别。这个关键字是否也指向当前元素?这是否指向当前元素,作为参考,而元素参数是元素。我使用哪一个?Jquery - 将函数传递给过滤器函数,带有两个参数
谢谢!
array.filter(function(currentValue, index, arr), thisValue)
CurrentValue的(必需的) - 当前元素
索引(可选)的值 - 当前元素的数组索引
ARR(可选) - 阵列对象的当前元素属于到
thisValue(可选) - 要传递给要用作其“this”值的函数的值。 如果此参数为空,则值“undefined”将作为其“this”值传递
箭头函数保留来自外部作用域的this
关键字。
常规功能确实得到更新this
。
片段中的示例。
var $body = $(document.body);
console.log("Testing arrow functions");
$body.each((idx, el) => {
console.log(el === this);
});
console.log("Testing regular functions");
$body.each(function(idx, el) {
console.log(el === this);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
OP不问'Array.prototype.filter()'而是'$ .fn.filter' – charlietfl