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