私はちょうど数ミリ秒相当のパフォーマンス時間で OCD になっていることを知っていますが、なぜ次のことが私に当てはまるのか疑問に思っていました. それは私の論理に反しているようです。
私は現在、ホバー時に画像をフェードアウトするdivを持っています:
$('div.someclass').hover(function() {
$(this).children('img').fadeOut(function(){
// do something
});
}, function() {
// do something
});
いくつかのテストの後 (セレクターを 1000 回ループし、9 つのテストの平均を取る)、3 つの異なるセレクターを使用し、速度は次の順序であると結論付けました。
$(this).children('img')
最速の -avg 約 400ms を実行します。$('img', this)
- 平均約 900 ミリ秒; と$(this).find('img')
実行速度が最も遅い - 平均約 1000 ミリ秒
これは、関数呼び出しが 2 つあると 1 つよりも遅くなるという論理に反します。さらに、jQuery は 2 番目のケースを 3 番目のケースに変換するので、3 番目のケースは遅くなるでしょうか?
何かご意見は?