Ich kann nicht verstehen, warum Variablen so seltsam wirken, wenn sie in einer Funktion deklariert werden.
In der
firstFunktion deklariere ich mitletden Variablenbundcmit dem Wert 10 :b = c = 10;In der
secondFunktion zeige ich:b + ", " + cUnd das zeigt:
10, 10Auch in
firstFunktion deklariere ichamit Wert 10 :let a = b = c = 10;Aber in der
secondFunktion zeigt es einen Fehler:Variable kann nicht gefunden werden:
aJetzt
firstdeklariere ich in der Funktiondmit Wert 20 :var d = 20;Aber in der
secondFunktion 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 Fruitbedeutet Dim Apple / Dim Banana / Dim Pear As Fruitund nicht Dim Apple As Fruit / ....
bundcnicht mit dem PräfixvarStichwort.aunddsind lokal zufirst.