diff --git a/.gitignore b/.gitignore
index bb6fa4d..f15d1da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -101,4 +101,6 @@ dist
.dynamodb/
# TernJS port file
-.tern-port
\ No newline at end of file
+.tern-port
+
+.idea
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..ab1f416
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,10 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Ignored default folder with query files
+/queries/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/article-markup.iml b/.idea/article-markup.iml
new file mode 100644
index 0000000..c956989
--- /dev/null
+++ b/.idea/article-markup.iml
@@ -0,0 +1,8 @@
+
+
+ Замыкания — это одна из фундаментальных концепций JavaScript, вызывающая сложности у многих новичков, знать и понимать которую должен каждый JS-программист. Хорошо разобравшись с замыканиями, вы сможете писать более качественный, эффективный и чистый код. А это, в свою очередь, будет способствовать вашему профессиональному росту.
+ Материал, перевод которого мы публикуем сегодня, посвящён рассказу о внутренних механизмах замыканий и о том, как они работают в JavaScript-программах.
+
Замыкание — это функция, у которой есть доступ к области видимости, сформированной внешней по отношению к ней + функции даже после того, как эта внешняя функция завершила работу. Это значит, что в замыкании могут храниться + переменные, объявленные во внешней функции и переданные ей аргументы. Прежде чем мы перейдём, собственно, к + замыканиям, разберёмся с понятием «лексическое окружение». +
+Что такое лексическое окружение?
Понятие «лексическое окружение» или «статическое окружение» в JavaScript относится к возможности доступа к переменным, функциям и объектам на основе их физического расположения в исходном коде.
Рассмотрим пример:
+
+ Здесь у функции inner() есть доступ к переменным, объявленным в её собственной области видимости, в области видимости функции outer() и в глобальной области видимости. Функция outer() имеет доступ к переменным, объявленным в её собственной области видимости и в глобальной области видимости.
+ Цепочка областей видимости вышеприведённого кода будет выглядеть так:
+
+ Обратите внимание на то, что функция inner() окружена лексическим окружением функции outer(), которая, в свою очередь, окружена глобальной областью видимости. Именно поэтому функция inner() может получить доступ к переменным, объявленным в функции outer() и в глобальной области видимости.