Я не могу понять, почему переменные действуют так странно, когда объявлены внутри функции.
В
firstфункции, которую я объявляю сletпеременнымиbиcсо значением 10 :b = c = 10;В
secondфункции я показываю:b + ", " + cИ это показывает:
10, 10Также в
firstфункции я объявляюaсо значением 10 :let a = b = c = 10;Но в
secondфункции это показывает ошибку:Не могу найти переменную:
aТеперь в
firstфункции я объявляюdсо значением 20 :var d = 20;Но в
secondфункции она показывает ту же ошибку, что и раньше, но с переменнойd:Не могу найти переменную:
d
Пример:
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значит Dim Apple / Dim Banana / Dim Pear As Fruit, а нет Dim Apple As Fruit / ....
bиcне предваряетсяvarключевым словом.aиdявляются местными дляfirst.