Nie rozumiem, dlaczego zmienne działają tak dziwnie, gdy są deklarowane w funkcji.
W
firstfunkcji deklarujęletzmiennymibicwartością 10 :b = c = 10;W
secondfunkcji pokazuję:b + ", " + cA to pokazuje:
10, 10Również w
firstfunkcji deklarujęawartością 10 :let a = b = c = 10;Ale w
secondfunkcji pokazuje błąd:Nie można znaleźć zmiennej:
aTeraz w
firstfunkcji deklarujędz wartością 20 :var d = 20;Ale w
secondfunkcji pokazuje ten sam błąd co poprzednio, ale ze zmiennąd:Nie można znaleźć zmiennej:
d
Przykład:
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 Fruitoznacza Dim Apple / Dim Banana / Dim Pear As Fruit, a nie Dim Apple As Fruit / ....
bicnie są poprzedzone zevarsłów kluczowych.aidsą lokalnifirst.