En javascript comment puis-je appeler une méthode de prototype dans un autre prototype de la méthode?
supposons que j'ai une fonction:
function test(){}
test.prototype.method01=function(){
//do something
}
test.prototype.method02=function(){
//how can I call the method01?
//this.method01()...?
//but the chrome through an error:
//Uncaught TypeError: Object #<HTMLImageElement> has no method 'method01'
}
Modifié:
en fait, le method01 comme ceci:
test.prototype.method02=function(){
$('.cpy').resizable({
}).draggable({
start:function(e,ui){
this.method01();
}
});
}
Êtes-vous affectation
Il dépend de comment vous appelez
ont améliorer ma question,montrer comment je l'appelle
Comme si souvent dans jQuery, à l'intérieur de la
Connexes: stackoverflow.com/questions/8778874/...
method02
à un événement d'une image, par hasard?Il dépend de comment vous appelez
method02
. Vous devriez lire le MDN article sur this
.ont améliorer ma question,montrer comment je l'appelle
Comme si souvent dans jQuery, à l'intérieur de la
start
rappel, this
fait référence à l'élément que vous appelez draggable
sur, dans ce cas .cpy
. Vous devez garder une référence à la this
de method02
.Connexes: stackoverflow.com/questions/8778874/...
OriginalL'auteur hh54188 | 2012-03-17
Vous devez vous connecter pour publier un commentaire.
Vous devez préserver la
this
de référence dans une autre variable locale, de sorte que la fonction de rappel peut l'utiliser lors de l'appel de l'autre méthode. Lethis
de référence est lié à chaque appel de fonction, y compris les appels à des fonctions de rappel comme celui que vous utilisez dans le ".draggable()" le programme d'installation. Lorsque que l'on appellethis
sera quelque chose de différent de lathis
dans votre "method02" de la fonction.OriginalL'auteur Pointy
Oui, vous pouvez manuellement le cache
this
dans la portée lexicale comme d'autres réponses à cette question suggèrent. Cependant, l'alternative que je suggère, c'est de créer une méthode liée à l'aide de$.proxy
oufunction.bind
que votre retour d'appel.Les méthodes liées sont toujours appelés à une stabilité de la
this
. Je les trouve beaucoup plus lisible, que bizarrement nommé références àthis
en plus étenduesOriginalL'auteur James Holmes
whats sur
OriginalL'auteur L. Monty