Bonjour à tous,

Je bat depuis quelques jours avec des objets javascript et je bloque sur un point.

J'ai une classe que j'ai défini de cette façon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
var Playlist = function() {
  this.start = function(){
    setTimeout("this.playNext()",10000);
  }
  this.playNext() = fonction(){}
}
En gros la fonction playNext() est exécutée 10s après start().
Mais quand je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
var maPlaylist = new Playlist();
maPlaylist.start();
J'ai une erreur comme quoi la fonction playNext() n'héxiste pas.

Par contre, losque je défini ma classe de cette façon, ça marche (avec le nom de l'instance à la place de this dans le setTimeout) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
var Playlist = function() {
  this.start = function(){
    setTimeout("maPlaylist.playNext()",10000);
  }
  this.playNext() = fonction(){}
}
Sauf que je peux pas laisser le nom de l'instance dans la définition de la classe.

Quelqu'un pourrait m'expliquer comment une méthode d'une classe peut en appeller une autre svp?

Merci d'avance.

Madis.