jQuery 中的一个常见模式是接受一个回调的方法,该回调传递一个数组的元素及其在该数组中的索引。然而,哪个参数首先出现似乎完全随机。例如,来自http://api.jquery.com的 jQuery 文档:
jQuery.each( collection, callback(indexInArray, valueOfElement) )
.each( function(index, Element) )
jQuery.map( array, callback(elementOfArray, indexInArray) )
.map( callback(index, domElement) )
jQuery.grep( array, function(elementOfArray, indexInArray), [ invert ] )
.filter( function(index) )
在三种情况下(jQuery.each
, .each
, .map
),索引排在第一位。在另外两个 ( jQuery.grep
, jQuery.map
) 中,元素排在第一位。我知道现在已经设置了 api,但对我来说这似乎是一个严重的不一致。
是否有我遗漏的模式或者这只是随机的?应该解决这个问题还是我应该闭嘴并记住它们?