J'ai ce code, je l'ai utilisé sur certains des composants JavaScript que j'ai construit pour un projet. Maintenant je veux savoir s'il y a une fuite de mémoire sur le code suivant.
Laquelle des options est la plus appropriée, A ou B, ou existe-t-il une meilleure solution ?
var component = function(){
var self = this; //A - not sure there's a leak here
this.foo = function(){
//var self = this; //B. I can do this but I want to use self in other method as well
var dom = getElementById('someid');
dom.onclick = function(){
self.foo2(); // here I used the self reference
//i cannot use this here, because it refer to dom
}
}
this.foo2 = function(){
var dom = getElementById('someid');
dom.onclick = function(){
self.foo2(); //here I used the self reference
//i cannot use this here, because it refer to dom
}
}
};
// some usage
var c1 = new component();
c1.foo();