まず第一に、私は Chrome 開発ツールを使用してさまざまなアプローチをテストしていますが、今日の最新のブラウザーで JS の「専門家」とは考えていないため、テストを補完する追加のフィードバックを探しています。
クリック イベントを処理する必要がある 600 以上の要素が定期的に含まれるページがあります。これにアプローチするには、少なくとも 3 つのかなり異なる方法を考えることができますが、ページ サイズ、速度、JS メモリの問題、オブジェクト数に関連する問題 (パフォーマンスと安定性の両方の観点から) について考えています。
- onClick="foo(this);" を含める 要素ごとに、含まれている.jsファイルの1つで関数を定義します。-- より大きなページ、一度定義された関数、JS のメモリ フットプリントは小さいと思いますが、ページ全体のメモリ フットプリントは大きいと思います。
- jQuery と $(selector).click(foo(this)); を使用します。- ページが小さく、関数が一度定義されると、JS のメモリ フットプリントが大きくなると思いますが、ページ全体は小さくなります。
- jQuery と $(selector).click(function(this) { }); を使用します。- 最小のページ、関数は 1 回定義されますが、これはメモリの点で最も要求が厳しいと予想されます (また、jQuery または JS 全体であいまいな問題が発生するのではないかと心配しています) が、概念的には最もエレガントです。
jQuery が実行されると予想されるほぼすべてのブラウザーをサポートする必要があります。アイテムの数はさらに増える可能性があります (4 倍または 5 倍になる可能性があります)。
より良い別のアプローチがあれば、ぜひ聞きたいです。私の3つのアプローチの利点/落とし穴について誰かが私を教育したいなら、私もそれを本当に感謝しています.