aboutsummaryrefslogtreecommitdiff
path: root/files/ru/словарь/поднятие/index.html
diff options
context:
space:
mode:
authorFlorian Merz <me@fiji-flo.de>2021-02-11 14:51:05 +0100
committerFlorian Merz <me@fiji-flo.de>2021-02-11 14:51:05 +0100
commitc058fa0fb22dc40ef0225b21a97578cddd0aaffa (patch)
treedf20f8b4c724b61cb9c34cdb450a7ac77d690bd0 /files/ru/словарь/поднятие/index.html
parent8260a606c143e6b55a467edf017a56bdcd6cba7e (diff)
downloadtranslated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.tar.gz
translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.tar.bz2
translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.zip
unslug ru: move
Diffstat (limited to 'files/ru/словарь/поднятие/index.html')
-rw-r--r--files/ru/словарь/поднятие/index.html74
1 files changed, 0 insertions, 74 deletions
diff --git a/files/ru/словарь/поднятие/index.html b/files/ru/словарь/поднятие/index.html
deleted file mode 100644
index ef0cdfb1be..0000000000
--- a/files/ru/словарь/поднятие/index.html
+++ /dev/null
@@ -1,74 +0,0 @@
----
-title: Поднятие
-slug: Словарь/Поднятие
-translation_of: Glossary/Hoisting
----
-<p>Поднятие (hoisting) — термин, который вы <em>не</em> встретите в документации JavaScript. Поднятие задумывалось как общий способ мышления о том, как контекст исполнения (в частности, фазы создания и исполнения) работает в JavaScript. Однако, hoisting может привести и к недоразумениям. Например, hoisting учит, что объявление переменной или функции физически перемещается в начало вашего кода, хотя в действительности этого не происходит. На самом же деле, объявления переменных и функций попадают в память в процессе фазы компиляции, но остаются в коде на том месте, где вы их объявили.</p>
-
-<h2 id="Узнаем_больше">Узнаем больше</h2>
-
-<h3 id="Пример">Пример:</h3>
-
-<p>Одним из преимуществ помещения в память объявлений функций до выполнения кода то, что можно использовать функцию до ее объявления. Например:</p>
-
-<pre class="brush: js">function catName(name) {
- console.log("Мою кошку зовут " + name);
-}
-
-catName("Тигр");
-/*
-Результатом будет вывод строки: "Мою кошку зовут Тигр"
-*/
-</pre>
-
-<p>Предыдущий пример демонстрирует ожидаемый рабочий код. Теперь давайте посмотрим, что происходит, когда мы вызываем функцию в коде до ее объявления:</p>
-
-<pre class="brush: js">catName("Раиса");
-
-function catName(name) {
- console.log("Мою кошку зовут " + name);
-}
-/*
-Результатом будет вывод строки: "Мою кошку зовут Раиса"
-*/
-</pre>
-
-<p>Даже если мы вызываем функцию до ее объявления, код работает. Это происходит благодаря тому, как работает контекст выполнения в JavaScript.</p>
-
-<p> </p>
-
-<p><code>Hoisting</code> хорошо работает и с другими типами данных и переменными. Переменные могут быть инициализированы и использованы до их объявления. Однако, они не могут быть использованы без инициализации.</p>
-
-<h3 id="Пример_2">Пример:<br>
-  </h3>
-
-<pre>num = 6;
-num + 7;
-var num;
-/* не генерирует ошибку, так как num объявлен */
-
-</pre>
-
-<p>JavaScript "поднимает" только объявление, но не инициализацию. Если вы используете переменную, объявленную и проинициализированную после ее использования, то значение будет <code>undefined</code>. Два примера ниже демонстрируют это поведение.<br>
-  </p>
-
-<pre>var x = 1; // Инициализируем x
-console.log(x + " " + y);  // '1 undefined'
-var y = 2;
-//код выше и код ниже одинаковые
-
-var x = 1; // Инициализируем x
-var y; // Объявляем y
-console.log(x + " " + y);  // '1 undefined'
-y = 2; // Инициализируем y
-</pre>
-
-<p> </p>
-
-<h3 id="Technical_reference">Technical reference</h3>
-
-<ul>
- <li><a href="https://www.udemy.com/understand-javascript/">JavaScript: Understanding the Weird Parts</a> - Udemy.com Course</li>
- <li><a href="/ru/docs/Web/JavaScript/Reference/Statements/var">var - объявление переменной</a> - MDN</li>
- <li><a href="/ru/docs/Web/JavaScript/Reference/Statements/function">Функция</a> - MDN</li>
-</ul>