2007年02月09日

Javascript:appendChild のタイミングで処理速度が変わる

createElemement や createTextNode で要素を生成して、すでに描画?されているオブジェクトに入れ込む場合、入れ込むタイミングによって処理速度が変わるようです。

1.生成した div 要素を、先に body へ appendChild してしまってから、div へテキストノードを入れ込む場合(bf とします)
01   obj = document.createElement('div');
02   document.body.appendChild(obj);
03   obj.appendChild(document.createTextNode('string'));


2.生成した div 要素をにテキストノードを入れ込んだ後に、body へ appendChild する場合(af とします)
01   obj = document.createElement('div');
02   obj.appendChild(document.createTextNode('string'));
03   document.body.appendChild(obj);

感覚的には、2の方が速いだろうと思うのですが・・・。
ちなみに div 要素ではなく createDocumentFragment の方が良いかも知れませんが、微妙に遅い感じです。ほとんど、誤差範囲内ではありますがw

テスト結果
posted by HiFa at 00:35 | 🌁 | Comment(0) | TrackBack(0) | JavaScript雑感 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。