Jquery - 使用两个参数将函数传递给过滤器函数

时间:2016-12-24 23:18:19

标签: javascript jquery function filter

在Jquery函数(如filter和not)中,可以传递一个传递两个参数的函数。我正在读一本书,它说第一个参数是当前元素的索引,而第二个参数是当前元素。我很困惑。使用第二个参数和使用此关键字有什么区别。这个关键字也不指向当前元素吗?这是否指向当前元素作为参考,而element参数是元素。我使用哪一个?

谢谢!

2 个答案:

答案 0 :(得分:0)

箭头函数保留外部作用域中的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>

答案 1 :(得分:-1)

array.filter(function(currentValue, index, arr), thisValue)

currentValue(必需) - 当前元素的值

index(可选) - 当前元素的数组索引

arr(可选) - 当前元素所属的数组对象

thisValue(可选) - 要传递给函数的值,用作&#34;这个&#34;值。 如果此参数为空,则值为&#34; undefined&#34;将作为其#34;这个&#34;值