Variablenscopes
revo
- javascript
Hallo,
ich habe ein Anfängerproblem mit JavaScript.
Aus anderen Programmiersprachen bin ich gewöhnt, dass Variablenscopes so beendet werden:
var y = 1;
{ var x = 1; }
alert(y);
alert(x);
In diesem Falle würde ich erwarten, dass y beim Aufruf druch alert() den Wert 1 enthalten würde und x undefined wäre.
Stattdessen hat auch x noch den Wert 1.
Wie löscht man eine Variable / beendet ihren Scope?
Hallo,
Aus anderen Programmiersprachen bin ich gewöhnt, dass Variablenscopes so beendet werden:
Scopes werden in JavaScript durch Funktionen erzeugt, durch nichts anderes.
Ein Block erzeugt keinen eigenen Scope.
Block-Scopes gibt es nur in einer bisher proprietären Gecko-Erweiterung.
Wie löscht man eine Variable / beendet ihren Scope?
Variablen löschen kannst du mit delete, wenn du Scopes erzeugen willst, gebrauche Funktionen.
(function () {
var bla = "nur i.d. Funktion verfügbar";
})();
Mathias
Variablen löschen kannst du mit delete
genau das, was ich suche. danke.
gebrauche funktionen
das ist in meinem fall kaum möglich, weil ich variablen, die ich im konstruktor einer klasse benötige, nicht später als membervariablen benötige. oder kann der konstruktor selbst eine funktion sein?
gruss revo,
gebrauche funktionen
das ist in meinem fall kaum möglich, weil ich variablen, die ich im
konstruktor einer klasse benötige, nicht später als membervariablen
benötige. oder kann der konstruktor selbst eine funktion sein?
wenn Du so fragst, muss man spitzfindig bemerken, dass ein konstruktor
in ECMA 262 immer eine funktion sein wird. Du meinst aber sicherlich,
ob ein einziges funktionales konstrukt sowohl objekte instanziieren
als auch z.b. nur typen wandeln kann? - ja das geht:
Google Groups :: de.comp.lang.javascript : Funktion nicht als Konstruktor
SELFHTML Forum : Zuweisung zerstört Number-Objekt ...
so long - peterS. - pseliger@gmx.net