20

クレイジーな最適化がないと仮定します(私はあなたのChromeを見ています)。

私は生の、厄介な、壊れていない、修正しない、つまりv6 javascript、コストについて話している。

下限は次のとおりです。

document.getElementById() 

対:

document.getElementsByTagName('div') lookup.
4

1 に答える 1

22

getElementByIdO(1)ハッシュテーブルはid=>要素マッピングに最適なデータ構造であるため、最新のブラウザにあると安全に想定できます。

最適化を行わなくても、cssセレクター、IDルックアップ、クラス名ルックアップ、タグ名ルックアップなどの単純なクエリは、O(n)すべての要素を1回繰り返すだけで十分であるため、悪くはありません。

ただし、優れたブラウザでは、tagname =>要素のマッピングがあると思いますので、そうgetElementsByTagNameなりO(1)ます。

于 2012-05-04T06:54:17.963 に答える