2012-03-07 3 views
6

DOMへの呼び出しをキャッシュするのが良いことは知っているので、$( '#someElement')を何度も呼び出す代わりに、var $ someElementに保存して使用してください。

しかし、イベントリスナーの中で$(this)を使用すると同じですか? $(これ)をキャッシュする必要がありますか?

ありがとうございます。

+2

私はそれが完全に '$(this)'の使用パターンに依存すると思う。 –

答えて

5

ようにあなたが$(this)$(selector)を呼び出すたびに何かをする方が良い...ので、あなたはすでに作成している場合それは一度、同じオブジェクトを再び作成する関数を呼び出すことをキャッシュしません

+0

ありがとう、チャーリー。 – Francisc

2

後でイベント関数で同じ要素を参照する場合は、yesを指定します。関数の外では、thisの値が変更されるため、意味がありません。あなたは$(this)を複数回呼び出す場合

+0

ありがとう、Diodeus。 – Francisc

7

は、新しいjQueryオブジェクトを作成するための関数呼び出しであるvar $this = $(this);

+0

パフォーマンスの向上はありますか、それとも単なる保存用のもの(1回の使用につき2回)ですか? – Tx3

+0

@ Tx3いいえ、文字を保存するだけでなく、関数呼び出しを保存しています。あなたは '$(this)'を実行するたびに関数呼び出しを行いました。 – xdazz

+0

確かに、「ラッピング」を実行するときにどのような操作をしているのか考えていただけです。とにかく、私はあなたが示唆したようにそれを使用しているので、それは好奇心だった。 – Tx3

関連する問題