5

次の疑似 jQuery コードでメモリ リークが発生する可能性があるのでしょうか (成功コールバックは常に _this への参照を持っているため)。

var _this = this;

$.ajax({
  url: "foo",
  type: "POST",
  data: data,
  success: function() {
      // Do stuff with _this
      _this.doStuffs();
})
4

2 に答える 2

1

このコードは関数内ですか?

はいの場合 (私が推測する)、_this は、ajax 呼び出しが完了または失敗した直後に、ガベージ コレクションに対して判読不能になります。したがって、理論上、ここでメモリ リークを心配する必要はありません。

于 2012-11-05T22:04:14.223 に答える
0

そこにメモリリークは見られません。成功のコールバックは、呼び出された後にガベージ コレクションする必要があります (正しく実装する必要があります。その権利ありますが、jQuery とブラウザーによって、おそらく IE でも適切に行われます)。その後、_thisオブジェクトを収集することもできます (外部から参照されていない場合) - ただし、もちろん、それがクロージャーの目的です。

于 2012-11-05T22:04:03.667 に答える