Ich kann nicht verstehen, warum Variablen so seltsam wirken, wenn sie in einer Funktion deklariert werden.
In der
first
Funktion deklariere ich mitlet
den Variablenb
undc
mit dem Wert 10 :b = c = 10;
In der
second
Funktion zeige ich:b + ", " + c
Und das zeigt:
10, 10
Auch in
first
Funktion deklariere icha
mit Wert 10 :let a = b = c = 10;
Aber in der
second
Funktion zeigt es einen Fehler:Variable kann nicht gefunden werden:
a
Jetzt
first
deklariere ich in der Funktiond
mit Wert 20 :var d = 20;
Aber in der
second
Funktion zeigt es den gleichen Fehler wie zuvor, aber mit der Variablend
:Variable kann nicht gefunden werden:
d
Beispiel:
function first() {
let a = b = c = 10;
var d = 20;
second();
}
function second() {
console.log(b + ", " + c); //shows "10, 10"
try{ console.log(a); } // Rreference error
catch(e){ console.error(e.message) }
try{ console.log(d); } // Reference error
catch(e){ console.error(e.message) }
}
first()
Dim Apple, Banana, Pear As Fruit
bedeutet Dim Apple / Dim Banana / Dim Pear As Fruit
und nicht Dim Apple As Fruit / ...
.
b
undc
nicht mit dem Präfixvar
Stichwort.a
undd
sind lokal zufirst
.