Область видимости — одна из очень важных и базовых вещей в 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). Я скоро напишу об этом в блоге. так что подпишитесь, чтобы получать обновления.
Вывод :
- Прежде всего, решите, что вы должны использовать для объявления переменной «var» или «let». все, что вы выберете. не смешивайте оба.
- Вы можете получить доступ к глобальным областям в любом месте на той странице, где вы пишете скрипты.
- Доступ к локальным областям можно получить только внутри блока. После того, как блок заканчивается, локальная область также заканчивается.
Итак, если вам это нравится, подпишитесь и получайте последние обновления каждую неделю.
Если у вас есть какие-либо вопросы, сомнения или предложения по поводу этих прицелов, оставьте комментарий ниже, я отвечу как можно скорее.
Первоначально опубликовано на сайте cuparb.com 18 февраля 2018 г.