查看 jquery 中 .each() 函数的文档会显示以下方法签名:
.each( function(index, Element) )
我可以理解需要传入一个索引以便它可以在回调中使用,但是如果您可以通过this
关键字引用当前元素,为什么还要显式包含 Element 参数?它只是为了让您可以指定您选择的实例名称吗?我的意思是,如果您仍然必须在 jquery 方法中包装一个命名实例$()
来取回一个 jquery 对象,那不完全一样this
吗?文档似乎没有提到它为什么在那里。
更新:
我认为这与闭包有关,但我不确定。看起来我所说的“命名实例”实际上是数组中元素的本地副本或克隆,存储在回调范围内的变量中。我怀疑通过使用this
它来引用一个变量,就好像它是某种闭包一样。@thecodeparadox 在一个萤火虫控制台中发现了一些让我思考这个问题的东西。仍然不太确定有什么区别,或者为什么您需要在数组中拥有一个本地范围的元素值。