2016-04-29 4 views
1

ドキュメント検索を大量に使用するWebアプリケーションがあります。document.getElementsByClassNameを$ container.getElementsByClassNameなどの狭い検索に変換することを正当化すると、パフォーマンス上の利点があるのでしょうか?document.getElementsByClassNameの範囲を狭くすることは、パフォーマンス上のメリットがありますか?

大きな利点はないと私は知っていますが、具体的なメリットがあるかどうかは疑問です。

私はライブラリや依存関係を使用していないので、すべてがネイティブjsです。

また、DOMノードの数やその他の多くの要因にもよりますが、平均Webアプリケーションを想定しましょう。

ありがとうございます!

+0

ここで「重い使用」とは何ですか?見積もりは何ですか?スピードの問題に気づいていますか? – 4castle

+0

まあ、私は重い使用が相対的であると思います、私はdomの10のクエリのように意味します。 – user3162553

+0

ループなどで何十万回も実行しているのであれば、違いが見えます。私は10のクエリを最適化することについて心配しません。 – 4castle

答えて

0

同じクラス要素を何度も参照している場合、コンテナをキャッシュするとパフォーマンスが向上します。そのクラスと一度やりとりする必要があるのであれば、実際のパフォーマンス上の利点があるとは言いません。

0

私の経験から - はい、特に大きなページがあります。

範囲を狭めることによる別の利点は、読みやすさの向上です。基本的には「グローバル変数とローカル変数」と同じです。

+0

それは 'document'が悪いように聞こえます。私はとても独断的ではないでしょう。平均的なWebアプリケーションを仮定すると、速度に大きな違いはありません。 – 4castle

+0

全くありません。グローバル変数も有効なユースケースを持っています。しかし、一般的に地元のものにこだわる方がよい。 –

関連する問題