diff options
author | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:51:05 +0100 |
---|---|---|
committer | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:51:05 +0100 |
commit | c058fa0fb22dc40ef0225b21a97578cddd0aaffa (patch) | |
tree | df20f8b4c724b61cb9c34cdb450a7ac77d690bd0 /files/ru/glossary/iife | |
parent | 8260a606c143e6b55a467edf017a56bdcd6cba7e (diff) | |
download | translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.tar.gz translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.tar.bz2 translated-content-c058fa0fb22dc40ef0225b21a97578cddd0aaffa.zip |
unslug ru: move
Diffstat (limited to 'files/ru/glossary/iife')
-rw-r--r-- | files/ru/glossary/iife/index.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/files/ru/glossary/iife/index.html b/files/ru/glossary/iife/index.html new file mode 100644 index 0000000000..7c764f6f71 --- /dev/null +++ b/files/ru/glossary/iife/index.html @@ -0,0 +1,61 @@ +--- +title: IIFE +slug: Словарь/IIFE +tags: + - IIFE + - JavaScript + - Глоссарий + - КодингСкриптинг +translation_of: Glossary/IIFE +--- +<p><strong>IIFE </strong>(Immediately Invoked Function Expression) это {{glossary("JavaScript")}} {{glossary("функция")}}, которая выполняется сразу же после того, как она была определена.</p> + + + +<pre><code>(function () { + statements +})();</code></pre> + +<p>Это тип выражений, также известный как {{glossary("Self-Executing Anonymous Function")}}, который состоит из двух основных частей. Первая - это сама анонимная функция с лексическим скоупом, заключеннным внутри {{jsxref("Operators/Grouping", "Оператора группировки")}} <code>()</code>. Благодаря этому переменные IIFE замыкаются в его пределах, и глобальная область видимости ими не засоряется.</p> + +<p>Вторая часть создает мгновенно выполняющееся функциональное выражение <code>()</code> , благодаря которому JavaScript-движок выполняет функцию напрямую.</p> + + + +<h2 id="Примеры">Примеры</h2> + +<p>Функция становится мгновенно выполняющимся функциональным выражением. Переменные внутри функции не могут быть использованы за пределами ее области видимости.</p> + +<pre><code>(function () { + var aName = "Barry"; +})(); +// Variable name is not accessible from the outside scope +aName // throws "Uncaught ReferenceError: aName is not defined"</code></pre> + +<p>Переменная, которой присвоено IIFE, хранит в себе результат выполнения функции, но не саму функцию.</p> + +<pre><code>var result = (function () { + var name = "Barry"; + return name; +})(); +// Immediately creates the output: +result; // "Barry"</code></pre> + + + + + +<h2 id="Узнать_больше">Узнать больше</h2> + +<h3 id="Материалы">Материалы</h3> + +<ul> + <li><a href="http://benalman.com/news/2010/11/immediately-invoked-function-expression/">Ben Alman's blog post defining IIFEs</a></li> + <li><a href="/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript#Functions">Quick example</a> (в конце абзаца "Functions", сразу после "Custom objects")</li> +</ul> + +<h3 id="Основные_понятия">Основные понятия</h3> + +<ul> + <li>{{interwiki("wikipedia", "Immediately-invoked function expression", "IIFE")}} на Wikipedia</li> +</ul> |