クロージャーでラップされたいくつかのヴァースがガベージコレクションのためにリリースされるようにしています。私はそれらを未定義に設定しているかどうか確信していないか、削除するだけで十分です。何かご意見は?javascript:クロージャー内のオブジェクトがゴミ収集されていることを確認してください
// run once for each photo, could be hundreds
$("img.photo").each(function(){
// create the vars to put in the callback
var photo = $(this);
var tmp = new Image();
// set the callback, wrapping the vars in its scope
tmp.onload = (function(p,t){
return function(){
// do some stuff
// mark the vars for garbage collection
t.onload = ?
t = ?
p = ?
})(photo, tmp)
// set the source, which calls onload when loaded
tmp.src = photo.attr("src")
})
'delete'はメモリを解放しません。それは参照を削除するだけです(そうでなければ 'var x = {a:0}; var y = x; xを削除します; alert(y.a)')。そしてあなたは[変数を削除できません](https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference:Operators:Special_Operators:delete_Operator)。 – delnan