Рубрики
Без рубрики

Область и закрытие

Если каждый мертвец стал призраком, там будет более 100 миллиардов из них преследующих нас всех. Жутко,… Теги с JavaScript, начинающими, учебниками, WebDev.

Если каждый мертвец стал призраком, там будет более 100 миллиардов из них преследующих нас всех. Жуткий, но круто.

— Нил деградас Тайсон

В сегодняшней статье мы будем проходить через несколько основных JavaScript Основы Чтобы помочь нам понять Область и закрытие Отказ При работе с будущими проектами, которые поддерживают рамки или даже просто Vanilla JS, он везде в современной всемирной сети. Мы сломаемся в несколько разделов, чтобы оказать глубокое понимание того, что существуют различные типы объема объема, есть большая информация, которая будет просеивать в одной статье, поэтому для времен, ради случаев, мы будем только говорить о присваивании и закрытии для Сегодняшние чтение, позже мы рассмотрим глубже в методы массива, прототипы и наследство и классы для мощных парадигм. Давайте начнем!

Содержание

  1. Глобальный объем
  2. Функциональная область
  3. Область блока
  4. Подъемность (объявление и инициализация)
  5. Закрытие
  6. Вывод

вступление

Как работает область и закрытие в JavaScript? Область применения определяется как переменные, к которым у нас есть доступ и где. Очень важно знать, как эти основы работают по мере того, как они склонны повсюду в кодировке большинства времени и вопросов интервью и интервью для новых разработчиков, чтобы убедиться, что они имеют понимание того, как Лексическая среда работает.

Глобальный объем

Существуют разные уровни объема, которые помогают нам писать лучший код. Область применения – это большая концепция, если бы мы были на самом деле в глубине, но наша цель – понять основные концепции о том, как функции и методы работают друг с другом, чтобы получить определенный выход. Есть глобальная область, что я предполагаю, что мы все знакомы. Глобальный Область применения – это то, где мы можем получить доступ к любой переменной, которую мы создали, в любом месте нашего кода. Это должно быть немного более ясно, когда вы видите больше в глубине кода. В приведенном ниже примере мы объявляем переменную вне функции и объявляю одного внутри функции. var1 хранит строку (Hello ‘) и var2 Внутри аудитории открытия также хранят строку («мир»), мы console.log () Наши переменные и получите два выхода. Первый выход, который мы возвращаемся, это «привет», потому что мы называем нашу консоль .Log в Глобальный уровень где все за пределами наших функций или доступных, где в нашем коде. Наша вторая console.log () Выходы «неопределенный» Потому что мы пытаемся получить доступ к переменной, хранящейся внутри функции. Мы добиваем глубже, почему это происходит на следующем шаге.

#Javascript Scope and Closure

# Global Scope
# declare variable
const var1 = 'hello';

# Function Scope
function greeting(){
const var2 = 'world';
};
console.log(var1); #output = 'hello'
console.log(var2); #output = 'undefined'

Эволюция – это фундаментальная идея во всей жизни науки – во всей биологии.

Функциональная область

Как добраться до наших переменных внутри функций? Функциональная область Позволяет объявлять переменные внутри функций, где функции существует внутри функционирует, но не в других местах в вашем коде. Функции, которые являются Частный к этой функции конкретно. Единственная плохая вещь в том, что мы можем не доступ в функцию из снаружи И получите доступ к этим переменным, но функции могут достигать переменных вне их объема.

#Javascript Scope and Closure

# Global Scope
# declare variable
const var1 = 'hello';

# Function Scope
function greeting(){
const var2 = 'world';
console.log(var1); # output 'hello';
console.log(var2); # output 'hello';
};

# Invoke function
greeting();

Область блока

Блок Область уровня используется, когда мы склонны использовать Если/else заявления и для петлей Отказ Переменные объявлены либо Пусть или const Доступен только в рамках оператора или цикла (например I в A для петля). Объединение утверждений (другие языки называют его составными утверждениями) в блоки – это обычная практика в JavaScript. Область блока – еще одна тема на работе с var, пусть, и const Чтобы объявить наши переменные – это блок-масштаб работает по-разному для них. Запись блокировки MDN Документы имеют отличную статью вики.

Подъемность

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

var greeting = 'hello world';

Как правило, нам не нужно делать это в соответствии с правилами JavaScript, вы также можете объявить их отдельно и получить то же самое, что приемлемо.

# declare variable
var greeting;

# store string
greeting = 'hello world';

Компилятор под капюшоном позаботится об объявлении всех переменных перед их инициализацией и перед запуском остальной части скрипта. Это может быть сложно, как только мы начнем много строк кода в нашем файле. Учитывая следующую информацию, что произойдет, если мы должны были попробовать этот код ниже. Какой бы вывод будет?

# use variable
console.log(myVar);
# declare and initialize variable
aar myVar = 'variable';

Ответ на это неопределенный . Почему? Потому что, когда наш компилятор работает, он сначала объявляет переменную со значением undefined, а затем запускает скрипт. Компилятор интерпретирует этот код, как это

var myVar; # undefined
console.log(myVar); # output myVar
myVar = 'variable'

Другой пример.

sayHello();

function sayHello(){
console.log('hello')
}

Выход для кода выше будет «Привет» Отказ Почему? Это означает, что функции могут быть использованы до того, как они являются объявлено или инициализировано . Это только работает с объявленными функциями, не функционирующими выражениями. Декларации с var & Функция Ключевое слово поднимается и поэтому может использоваться в любом месте скрипта. Это вернется undefined Если еще не инициализирован. Ключевые слова Пусть & const не поднимаются, что означает, что они не могут быть использованы нигде, не бросая Справочник . Так что в конце вы не можете использовать Пусть & конститут Переменные, прежде чем учитывать их значение.

Закрытие

Что такое закрытие ? Как закрытие поможет нам понять JavaScript? Когда функция объявлена, это также создает новый сфера. Переменные, которые являются заявил в рамках этой функции будет Прилагается в лексическом/частном объеме, который принадлежит этой функции. Функции также выглядят наружу Для контекста, если некоторые переменные не определены в области применения функции, функция будет выглядеть за пределами объема цепь и искать переменную, которая ссылается во внешнем объеме. Это то, что закрытие это все о.

Вывод

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

Эти статьи в основном предназначены для личного использования на том, чтобы стать лучшим программистом, писателем и выращивать свои навыки программирования. Не стесняйтесь бросить любые отзывы или исправления, которые вы считаете, что должно быть сделано, чтобы помочь мне и другим. Спасибо за ваше время для придерживания этого далеко!

Оригинал: “https://dev.to/cleveroscar/scope-closure-27fh”