Thomas Mell: Globale Variablen in einer function erzeugen.

Beitrag lesen

Hallo,
das meisste hast du schon richtig erkannt:
Alle Variablen sind global wenn sie nicht mit "var" deklariert sind, egal wo dies geschieht.
Alle mit var deklarierten Variablen sind innerhalb eines Blocks (zwischen { } ) lokal, dabei ist es  egal ob es sich um eine function, if - Abfrage oder einer Schleife handelt.
Mit var deklarierte Variablen im Scriptkoerper sind eigentlich lokal im Bezug auf diesen Koerper. Da sich aber alle anderen Bloecke in diesen Koerper befinden, koennen diese auf die Variable zugreifen - somit ist sie letztendlich global.

Nun zu den Objekten:
function testObject()
 {
    this.name;
}

this.name ist eine Eigenschaft der Klasse "testObject". Wenn du aus dieser Klasse mehrer Objekte instanzierst, existiert diese Eigenschaft entsprechend oft und kann jeweils einen anderen Wert enthalten.
Wenn man in einer Klasse var name= "xyz" schreibt, hat man eine Klassenvariable (keine Eigenschaft) die nur in dieser Klasse sichtbar ist - sie ist nicht ueber das Objekt zu erreichen.
Wenn man in der Klasse nur name="xyz" schreibt dann verfuegt man ueber eine ganz normal globale Variable ohne Bezug auf eine Klasse oder einem Block.

viele Gruesse
Thomas Mell