gpt4 book ai didi

jquery - 为什么 jQuery 的回调参数不一致?

转载 作者:行者123 更新时间:2023-12-03 21:37:55 26 4
gpt4 key购买 nike

jQuery 中的一个常见模式是采用回调的方法,该回调传递数组的元素及其在该数组中的索引。然而,哪个论点先出现似乎完全是随机的。例如,来自 jQuery 文档 http://api.jquery.com :

  • jQuery.each(集合,回调(indexInArray,valueOfElement))
  • .each( 函数(索引, 元素) )
  • jQuery.map(数组,回调(elementOfArray,indexInArray))
  • .map(回调(index, domElement))
  • jQuery.grep( array, function(elementOfArray, indexInArray), [ invert ] )
  • .filter( 函数(索引) )

在三种情况下(jQuery.each.each.map),索引排在第一位。在另外两个(jQuery.grepjQuery.map)中,元素排在第一位。我知道 API 现在已经设置好了,但对我来说这似乎是一个严重的不一致。

我是否缺少某种模式,或者这只是随机的?这个问题应该解决还是我应该闭嘴并记住它们?

最佳答案

这并不是完全随机的。因为:

$.map( $('selector'), function(el, index) { /* element (DOMElement) is first, index optional */ } );
$('selector').map(function(index) { /* 'this' (DOMElement) is first.... index optional */ });

看到图案了吗?第二个示例有第二个参数,但只是为了方便而传递,与 this 相同。

模式是第一个参数总是比第二个参数“更”重要,而最后一个参数应该是最不重要的(“更可选”)。因此,如果您只需要一个参数,则无需指定所有最不重要的参数。对于 $(...).each 来说,通常您甚至不需要任何参数,因为 this 只是您想要的。

关于jquery - 为什么 jQuery 的回调参数不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3612320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com