code:Comment accéder à l'instance de classe dans l'événement hanlder (JavaScript)?
function Customer(name){
this._name=name;
};
Customer.prototype.init=function(){
$('#SetCreditLevel').click(function(){
//best way to access this._name ?
//this now points to DOM element
});
}
cela fonctionne, mais je ne comprends pas complètement comment. Je vois une fonction anonyme auto-exécutable qui est passée le contexte, - cette partie je comprends. Le corps de cette fonction est un mystère pour moi, cependant. Pourquoi la fonction est-elle retournée? Comment ça marche? – Valentin
c'est la beauté des javascript * scopes *. Le "clic" de jQuery attend une fonction. donc vous exécutez du code qui renvoie une fonction, qui est ensuite utilisée comme paramètre d'entrée 'click'. le code en cours d'exécution accepte un paramètre 'context', et comme il le fait, cela devient une partie de * scope * de la fonction interne, de sorte qu'il peut y être accédé, avec n'importe quelle valeur transmise à la fonction parente. –
C'est très élégant, l'utilisation de la vie réelle des fermetures – Valentin