次のjqueryコードがメモリリークを引き起こすかどうか疑問に思っています:
$( function() {
var parent=$('table#mytable tbody').get(0);
$('tr:last', parent).click(function(){...});
});
私の理解で$('tr:last', parent)
は、DOMオブジェクトである最後の行ですが、匿名関数では、クロージャーはこのDOMオブジェクトをスコープに持っているため、DOMとjsオブジェクトの間に循環参照があります。
しかし、本当にリークがあるとすれば、Manning が発行している人気の本「jQuery in Action」にそのようなコードがたくさんあることがわかります。jQueryコーディングの有害な「ベストプラクティス」ですか?
しかし、私の理解が正しいかどうかはわかりません。コメントと訂正をお願いします。ありがとう!