Don P: Code-Verbesserung u.Test gewünscht

Beitrag lesen

Hallo,

Ich habe sämtliche Operationen erst einmal mit lokalen Variablen durchgeführt und erst ganz zum Schluß "public" gemacht. Hat das irgendwelche Vor/Nachteile gegenüber Operationen an einer public variable (z.B. daß erst jedes Mal nachgesehen werden müßte, was z.B. "this" ist

[...]

oder ist das mehr oder weniger akademisch?

Naja, ich denke das ist mehr oder weniger akademisch. Es sind ja ohnehin nur Referenzen, mit denen der Compiler jeweils hantiert.

Aufpassen muss man aber mit Closures, weil da u.U. 'this' wider Erwarten auch mal das globale Objekt (window im Browser-DOM) sein kann, z.B. statt

  
var diesUndDas = function() {  
  
  var etwas = this;  
  
  function nochwas() {  
  
    etwas.mehr = "viel";  
  }  
  
  nochwas();  
}

könnte man nicht einfach schreiben:

  
var diesUndDas = function() {  
  
  function nochwas() {  
  
    this.mehr = "viel";  
  }  
  
  nochwas();  
}

weil etwas() im zweiten Fall nicht die Objekteigenschaft 'diesUndDas.mehr' erzeugen würde, sondern eine globale Variable 'window.mehr', obwohl eigentlich zu erwarten wäre, das sich 'this' dort ebenfalls auf das Objekt diesUndDas() bezieht, genau wie im ersten Fall.

Die Zeilen

  
var dummy = new diesUndDas();  
alert( dummy.mehr );  
alert( window.mehr );

beweisen das jeweils. Leider :-(.

Gruß, Don P