私はサイトで使用されている JavaScript コードを最適化する過程にあり、何をすべきか、何をすべきでないかについての指針/ヒントが必要です。ライブラリとして jQuery 1.7.1 を使用します。
最適化/最適化されたコードの作成に関しては、私はまだ初心者ですが、DOM トラバーサルの数を減らす必要があることはわかっています。
したがって、私が考えているのは、より頻繁に使用される要素をキャッシュし、キャッシュされた要素を何らかの理由で使用することです。
私が混乱していること、または知りたいと思っていることは、DOM の準備ができている場合、「body」要素をグローバル スコープの変数にキャッシュし、それをすべての JavaScript コード/ファイルで使用して、可能性のある要素を見つけることです。その後必要があります。
お気に入り
jQuery(function(){
myGlobalObj.body = jQuery('body');
..
..
..
myGlobalObj.body.find('.someElement').<whatever>;
..
..
..
myGlobalObj.body.find('#someOtherElement').<whatever>;
..
..
..
});
パフォーマンスの向上に役立つことが証明されますか? DOM ツリーが更新されないなどの悪影響はありますか?
ご意見をお聞かせください。
編集#1:コメントと回答に感謝しますが、私は自分自身を明確にしていないと思います.
className を持つセレクターよりも ID ベースのセレクターを使用する利点はわかっていますが、私の懸念は、検索/分離に「本体」のキャッシュされた参照 (または検索された要素の最も近いフィルター処理された親) を使用することでパフォーマンスが向上することでした。ターゲット要素。
つまり、毎回 $(..whateverElement..) を使用する代わりに、
$cachedParent.find(..whateverElement..) のパフォーマンスが向上するかどうか?