Автор оригинала: FreeCodeCamp Community Member.
Tiffany White.
В JavaScript, Лексический охват Рассматривается, где определяются ваши переменные, и как они будут доступны – или недоступны – до остальной части вашего кода.
Есть два срока думают, когда говорится о сфере охвата: местный и глобальный. Эти два термина важно понимать, потому что можно быть более опасным, чем другие при объявлении переменных и выполнение вашего кода.
Глобальный спектр
Переменная имеет глобально, если вы заявляете его за пределами всех ваших функций. Например:
//global variable, i.e. global scopevar a = "foo";
function myFunction() { var b = "bar"; console.log(a+b);}
myFunction();
Когда переменная находится в глобальном объеме, она может быть доступна всеми кодом в том же файле JavaScript. В этом примере я обращаюсь к переменной А В моем выступлении Console.log внутри Myфункция функция.
Местный спектр
Локальные переменные существуют только внутри функций. Они считают этой индивидуальной функцией.
Вы можете подумать о локальных переменных как любых переменных, которые падают между открытием и закрытием вьющихся скобок.
Эти локальные переменные не могут быть доступны кодом вне функции, к которой они принадлежат.
Посмотрите на этот код:
//global variable, i.e. global scopevar a = "foo";
function myFunction() { //local variable, or local scope var b = "bar"; console.log(a+b);}
function yourFunction() { var c = "JavaScript is fun!"; return c; console.log(c);}
myFunction();yourFunction();
Обратите внимание, как каждый переменная объявляется внутри отдельных функций. Они оба локальные переменные, в локальном объеме и не могут быть доступны друг на друга.
Например, я не могу вернуться B в Ваша функция, потому что B принадлежит Myфункция. B не может быть доступен Ваша функция, наоборот.
Если бы я попытался вернуть ценность B При звонке Ваша функция , Я бы получил ” Ошибка: b не определен. ” Почему? Потому что B не принадлежит Ваша функция. B за пределами Ваша функция Сфера применения.
При добавлении вложенных условных условий прицела становится еще более волосатой. Но я оставлю это в другое время.
Но на данный момент вспомните разницу между глобальным объемом и местным объемом. И в следующий раз вы получите « не определен » ошибка, проверьте объем переменной.
Этот пост также появляется в https://twhite96.github.io