かなり基本的な質問。
jQuery または生の JavaScript がプリコンパイル、または変数式を関数やセレクターにキャッシュするのに十分賢いかどうかを知りたいのですが、そうでない場合、これをやめる理由はありますか?
例えば
$('#whatever').on('click', function(){
$('#template').click();
});
var n = 0;
for(var i = 0; i < 20; i++){
n = 1 + 1;
$('#whatever').click();
}
console.log(n);
要素を求めて dom を 20 回検索し$('#template')
ますか? または、ライブラリ/エンジンはポインタを格納するのに十分スマートですか?
そして、コンピュータに 1+1 を 2 回実行するか、それともその式をキャッシュまたはプリコンパイルするか?
明らかに、これらは本当にばかげた例ですが、要点を理解しています。
はい、誰もn = 1 + 1
コードに (願わくば) 行を入れることはありません。
そして、`var template = $('#template'); を持つようにコードを変更できます。それ自体を処理しない場合は、クリック ハンドラーの前に、しかし、私たちは/なぜそれをしなければならないのだろうか?