Folgender Code:
	
Der Aufruf window.setTimeout(obj.methode, 1000); liefert ein undefined zurück, da die Eigenschaft durch die GC ja bereits entfernt worden ist. Man muss dort bekanntlicherweise mit einen var that = this; und alert(that.eigenschaft) arbeiten.
Aber warum greift der zweite Aufruf alert (obj.eigenschaft);? Da wird der Wert zurückgegeben. Entweder hab ich da was falsch verstanden oder Closures arbeiten doch anders als ich dachte.
Peter
PS: Aaaaaaanja!!!
							
						
					PHP-Code:
	
	
function Konstruktor () 
{
  this.eigenschaft = 'bla';
  this.methode     = function() 
  { 
    alert(this.eigenschaft);
  }
}
var obj = new Konstruktor();
window.setTimeout(obj.methode, 1000);
window.setTimeout(
   function()
  {
    alert (obj.eigenschaft);
  }, 2000); 
Aber warum greift der zweite Aufruf alert (obj.eigenschaft);? Da wird der Wert zurückgegeben. Entweder hab ich da was falsch verstanden oder Closures arbeiten doch anders als ich dachte.
Peter
PS: Aaaaaaanja!!!
							
						
          




			
		
Kommentar