2

ウィンドウのサイズ変更とスクロール イベントをリッスンする要素がいくつかあります。コードを読みやすくするために、次のように、異なるブロックで同じウィンドウ イベントを複数回宣言しました...

$('#foo')...
$(window).resize(function() {
    $('#foo')...
});

// lots of code...

$('#bar')...
$(window).resize(function() {
    $('#bar')...
});

// and so on..

一般的には次のように書くべきだと私は信じています

$(window).resize(function() {
    $('#foo')...
    $('#bar')...
});

// lots of code

$('#foo')...

// lots of code

$('bar')...

私の質問は、ウィンドウ イベントを複数回宣言すると、jQuery のパフォーマンスに違いが生じるでしょうか?

4

1 に答える 1

0

はい、しかし最小限です。JQuery は、サイズ変更キューで 1 つの余分なコールバックを通過する必要があります。大したことですよね?

これも考慮してください。コードは2つの関数呼び出しを行っています:

  1. $()
  2. resize()

改善するためにこれらを行うことができます:

  1. $(window)呼び出し (コメントで @undefined が言ったように) を変数にキャッシュします。これを行うと、への呼び出しが減ります$()
  2. on('resize', function(){})より良い最適化のために使用してみてください(jQueryのドキュメントによると)
于 2012-09-26T06:12:40.947 に答える