3

キャッシュセレクターの使用とチェーンセレクターの使用の間にパフォーマンスの違いがあるかどうか疑問に思っていますか?

私が正しく理解していれば、各関数がjqueryオブジェクトを返すため、チェーンは機能します。これは、キャッシュされたセレクターに含まれているものとまったく同じです。では、以下の2つの例では、パフォーマンスに違いはありませんか?


キャッシュされたセレクター

$(function(){

    $.on('click', '.disabled', function(){
        $toggle = $(this);
        $toggle.attr('title', 'Object Enabled');
        $toggle.toggleClass('disabled enabled');
        $toggle.html('Enabled');
    });
});


チェーンセレクター

$(function(){

    $.on('click', '.disabled', function(){
        $(this)
            .attr('title', 'Object Enabled')
            .toggleClass('disabled enabled')
            .html('Enabled');
    });
});
4

3 に答える 3

6

ここで見ることができます

http://jsperf.com/jquery-chaining

その差はごくわずかです。

鎖でつながれた

$('#theDiv').addClass('test').removeClass('test');

59,874 Operations / Second

個別の呼び出し (キャッシュ)

var d = $('#theDiv');
d.addClass('test');
d.removeClass('test');

62,021 Operations / Second
于 2012-10-17T03:05:50.787 に答える
5

違いがあったとしても最小限に抑えられ、実行中のブラウザによって異なります。

「私たちは小さな効率を忘れるべきです。たとえば、97%の確率で:時期尚早の最適化はすべての悪の根源です

于 2012-10-17T03:04:38.437 に答える
0

両者の性能に大きな差はないと思います..

これをチェックして

jsperf パフォーマンス

于 2012-10-17T03:09:02.700 に答える