Klopt het dat dit een memory leak oplevert?
In 'myFunction' maak ik namelijk een verwijzing naar 'myObject', waaraan ik vervolgens refereer in de click-closurefunctie.
Zo ja, klopt het dan ook dat het volgende wel goed gaat?
Ik meen ergens gelezen te hebben dat het zo goed gaat, omdat jQuery alle referenties die met .data gemaakt zijn, kan wissen. Maar ik kan het betreffende artikel niet meer terugvinden...
Memory leaks geven me
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
| myobject = function() { this.name = 'my object'; } myobject.prototype.myFunction = function() { var myObject = this; jQuery('#myDiv').click(function(){ var name = myObject.name; this.html(name); }); } |
In 'myFunction' maak ik namelijk een verwijzing naar 'myObject', waaraan ik vervolgens refereer in de click-closurefunctie.
Zo ja, klopt het dan ook dat het volgende wel goed gaat?
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
| myobject = function() { this.name = 'my object'; } myobject.prototype.myFunction = function() { jQuery('#myDiv').data('myObject', this); jQuery('#myDiv').click(function(){ var myObject = jQuery(this).data('myObject'); jQuery(this).html(myObject.name); }); } |
Ik meen ergens gelezen te hebben dat het zo goed gaat, omdat jQuery alle referenties die met .data gemaakt zijn, kan wissen. Maar ik kan het betreffende artikel niet meer terugvinden...
Memory leaks geven me

[ Voor 2% gewijzigd door Rekcor op 08-11-2011 15:09 . Reden: foutje + eerste voorbeeld niet goed ]