Nie rozumiem, dlaczego zmienne działają tak dziwnie, gdy są deklarowane w funkcji.
W
first
funkcji deklarujęlet
zmiennymib
ic
wartością 10 :b = c = 10;
W
second
funkcji pokazuję:b + ", " + c
A to pokazuje:
10, 10
Również w
first
funkcji deklarujęa
wartością 10 :let a = b = c = 10;
Ale w
second
funkcji pokazuje błąd:Nie można znaleźć zmiennej:
a
Teraz w
first
funkcji deklarujęd
z wartością 20 :var d = 20;
Ale w
second
funkcji 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 Fruit
oznacza Dim Apple / Dim Banana / Dim Pear As Fruit
, a nie Dim Apple As Fruit / ...
.
b
ic
nie są poprzedzone zevar
słów kluczowych.a
id
są lokalnifirst
.