Область видимости — одна из очень важных и базовых вещей в JavaScript, которую вам нужно знать, чтобы понять, как работает функция.

Итак, что же такое Scope?

Области действия, по сути, порядок приоритета переменной означает, что в основном решается, какие переменные отображать, а какие нет.

Типы области

В javascript доступно множество типов, но наиболее важными являются локальная и глобальная области действия. Другие — лексическая и блочная область. Я объясню позже типы других областей действия.

Глобальный охват:

Когда вы объявляете переменную вне какого-либо блока, она называется глобальной областью видимости. Значит, посмотрите на код ниже,

let global;//this is a global scope
console.log(global);// undefined cause your not defining any value to that variable 'global'
global = "a value which is a string"; //now it's define.

Местный охват:

Когда вы создаете область локально или внутри любого блока, она называется локальной областью. Давайте посмотрим на код ниже,

function newFunc(){
let local = "local variable";
console.log(local); //return "local variable" 
}
newFunc();// invoke function console.log(local); //return local is not defined

Вот как работают локальные области видимости. но вы всегда можете вызвать глобальную переменную внутри любого блока, но если вы уже создали переменную с тем же именем, что и у глобальной переменной внутри любого блока, то она показывает вам ошибку в консоли, потому что «вы используете только одно конкретное имя только один раз с помощью let», но вы всегда можете обновить значение, но исходное значение останется прежним. Посмотрите пример кода ниже,

let global = "global variable";
function anotherFunc(){
console.log(global);
let global = "update the global variable value"; console.log(global);
}
anotherFunc();

в приведенном выше коде, если вы думаете, что вывод должен быть "глобальной переменной" и "обновить глобальную переменную", то вы ошибаетесь.

На выходе будет ошибка,

global is not defined

По сути, если вы используете «let», вы не можете использовать одно и то же имя с оператором let.

Но если вы используете «var», то сейчас в основном никто, но я все еще любил этот var. Выход будет,

undefined
update the global variable value

Это происходит из-за подъема (еще одна фундаментальная тема, которую необходимо изучить, чтобы понять основы javascript). Я скоро напишу об этом в блоге. так что подпишитесь, чтобы получать обновления.

Вывод :

  1. Прежде всего, решите, что вы должны использовать для объявления переменной «var» или «let». все, что вы выберете. не смешивайте оба.
  2. Вы можете получить доступ к глобальным областям в любом месте на той странице, где вы пишете скрипты.
  3. Доступ к локальным областям можно получить только внутри блока. После того, как блок заканчивается, локальная область также заканчивается.

Итак, если вам это нравится, подпишитесь и получайте последние обновления каждую неделю.

Если у вас есть какие-либо вопросы, сомнения или предложения по поводу этих прицелов, оставьте комментарий ниже, я отвечу как можно скорее.

Первоначально опубликовано на сайте cuparb.com 18 февраля 2018 г.