You don't know js(up & going)


Download 424.95 Kb.
Pdf ko'rish
bet20/53
Sana08.11.2023
Hajmi424.95 Kb.
#1757840
1   ...   16   17   18   19   20   21   22   23   ...   53
Bog'liq
You don\'t know JS(up & going)

Область видимости
Если вы попросите у продавца модель телефона, которой у магазина нет в
продаже, то он не сможет продать вам телефон, который вы хотите. У него есть
доступ только к телефонам, которые есть в наличии в магазине. Вам нужно найти
другой магазин, чтобы посмотреть, есть ли в нем нужный вам телефон.
В программировании есть термин для этого принципа: *область видимости*
(технически называемая *лексическая область видимости*). В JavaScript каждая
функция получает свою собственную область видимости. Областью видимости
является коллекция переменных и правила доступа к этим переменным по
имени. Только код внутри функции имеет доступ к переменным, *определенным в
ее области видимости*.
Имя переменной должно быть уникальным в рамках одной и той же области
видимости: не может быть двух различных переменных `a`, расположенных
рядом друг с другом. Но одно и тоже имя переменной `a` может появляться в
разных областях видимости.


________________________________________________________________
function one() {
// эта `a` принадлежит только функции `one()`
var a = 1;
console.log( a );
}
function two() {
// эта `a` принадлежит только функции `two()`
var a = 2;
console.log( a );
}
one();
// 1
two();
// 2
________________________________________________________________
Также, область видимости может быть вложена внутрь другой области
видимости, прямо как клоун на дне рождения надувает один шарик внутри
другого. Если одна область вложена в другую, для кода внутри самой внутренней
области доступны переменные из окружающей области.
Пример:
________________________________________________________________
function outer() {
var a = 1;
function inner() {
var b = 2;
// здесь у нас есть доступ и к `a`, и к `b`
console.log( a + b ); // 3
}
inner();
// здесь у нас есть доступ только к `a`
console.log( a );
// 1
}
outer();

Download 424.95 Kb.

Do'stlaringiz bilan baham:
1   ...   16   17   18   19   20   21   22   23   ...   53




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling