Marco: Verständnisfrage

Beitrag lesen

Hi,

folgender Codeschnippsel habe ich hier http://www.digital-web.com/articles/objectifying_javascript/ gefunden:

  
 function Animation(element){  
   var looped = 0;  
   var e = element;  
  
   function construct() {  
    this.loopCount = function() {  
     return looped;  
    }  
    this.loop = function() {  
     looped++;  
    }  
   }  
   return new construct();  
 }  
  
 var animateLogin = new Animation();  
  
 animateLogin.loop();  
  
 alert(animateLogin.loopCount()); // it's 1  
 alert(animateLogin.looped); // undefined!  

Ich verstehe denn Sinn des return new construct(): var looped und var e sind für animateLogin nicht definiert und somit privat. Was ich nicht verstehe: Dies wäre doch auch der Fall wenn man das ganze ohne Rückgabewert machen würde (also die Zeile return new construct(); entfernen würde weil die Variabeln ja ohnehin nur lokal gültig sind da sie mit var definiert wurden? Oder habe ich da etwas falsch verstanden?

Viele Grüsse
Marco