molily: OOP: Methode rekursiv aufrufen

Beitrag lesen

Hallo,

var callback = function(){ this.methode(nx,step,ms); };

window.setTimeout( callback, ms );

  
Das wird nicht gehen, weil callback im globalen Kontext ausgeführt wird, d.h. this zeigt nicht auf das Objekt, sondern auf das globale Objekt window.  
  

> Vielleicht möchtest du mal einen Blick in [Organisation von JavaScripten](http://aktuell.de.selfhtml.org/artikel/javascript/organisation/) von Olmily™ werfen?  
  
Ja, da werden [Closures](http://aktuell.de.selfhtml.org/artikel/javascript/organisation/#closures) als Lösung vorgestellt.  
  
~~~javascript
/* Im Objektkontext: */  
var thisObject = this;  
var callback = function () {  
   // In dieser verschachtelten Funktion ist thisObject verfügbar (»eingeschlossen«),  
   // dasselbe gilt für nx, step und ms  
   thisObject.methode(nx, step, ms);  
};

Mathias