この記事は、jQuery Advent Calendar 2014の4日目です。 jQueryネタで何か書こうとして下調べしていたら、意外なことに気づいたのでそれを記事化することにしました。 ノードのキャッシュ JavaScriptで大量の要素を組み立てる場合、都度HTMLをパースしたり、エレメントを生成したりといったコストを避けるために、あらかじめ1つだけエレメントを用意しておいて、それをcloneNode()することで賄う、というような手法が定石となっていて、jQueryでもclone()メソッドがあります。 コピーしないほうが…速い!? ところが、jsPerfで測定していたところ、奇妙な現象が起きました。なんと、clone()せずに、都度HTMLからjQueryオブジェクトを生成するほうが速くなってしまったのです。 jQueryのソースコードを追ってみると、HTMLからDOMを生成す