jqueryの.each()関数のドキュメントを見ると、次のメソッドシグネチャが示されています。
.each( function(index, Element) )
this
コールバック内で使用できるようにインデックスを渡す必要があることは理解できますが、キーワードで現在の要素を参照できるのに、なぜElementパラメーターを明示的に含めるのでしょうか。選択したインスタンス名を指定できるようにするためだけにありますか?つまり、jqueryオブジェクトを取得するために、名前付きインスタンスをjqueryメソッドでラップする必要がある場合は、?$()
とまったく同じではありません。this
ドキュメントには、なぜそこにあるのかについては言及されていないようです。
アップデート:
これは閉鎖と関係があると思いますが、よくわかりません。私が「名前付きインスタンス」と呼んでいるのは、実際には、コールバックのスコープ内の変数に格納されている配列内の要素のローカルコピーまたはクローンのようです。それを使用this
することで、ある種のクロージャであるかのように変数を参照しているのではないかと思います。@thecodeparadoxは、Firebugコンソールで何かを見つけて、これについて考えさせられました。ただし、違いが何であるか、または配列内の要素のローカルスコープの値が必要になる理由はまだよくわかりません。