Dans mon une certaine fonction d'une classe, j'ai besoin d'utiliser setInterval
pour briser l'exécution du code. Cependant, dans la fonction setInterval
, "this" ne fait plus référence à la classe "myObject". Comment puis-je accéder à la variable "nom" à partir de la fonction setInterval
?Javascript: Comment accéder à un attribut de classe à partir d'une fonction dans l'une des fonctions de la classe
function myObject() {
this.name = "the name";
}
myObject.prototype.getName = function() {
return this.name;
}
myObject.prototype.test = function() {
// this works
alert(this.name);
var intervalId = setInterval(function() {
// this does not work
alert(this.name);
clearInterval(intervalId);
},0);
}
L'utilisation de setInterval (en particulier avec une période de 0) est un peu étrange. Vous n'avez que le feu une fois de toute façon, pourquoi ne pas utiliser setTimeout qui le rendrait plus simple. – AnthonyWJones