aboutsummaryrefslogtreecommitdiff
path: root/files/ru/glossary/function/index.html
blob: 192740a2c6ac0694fccaa29372ff4e2d48c6de9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
---
title: Функция
slug: Glossary/Function
tags:
  - JavaScript
  - Глоссарий
  - КодингСкриптинг
  - Функция
translation_of: Glossary/Function
original_slug: Глоссарий/Функция
---
<p><strong>Функция</strong> это отрывок кода который может быть вызван из другого кода или вызван собой, или это {{Glossary("variable")}} которая ссылается на функцию. Когда функция вызвана, {{Glossary("Argument", "аргументы")}} переданы в функцию как вход, и функция может необязательно вернуть вывод. Функция в {{glossary("JavaScript")}} это {{glossary("object")}}.</p>

<p>Имя функции это {{Glossary("identifier")}} объявлённый как часть объявления функции или выражения функции. Имя функции {{Glossary("scope")}} зависит от того является ли имя функции объявлением или выражением.</p>

<h3 id="Различные_типы_функций">Различные типы функций</h3>

<p><strong>Анонимная функция</strong> это функция без имени:</p>

<pre class="brush: js">function () {}</pre>

<p><strong>Именованная функция</strong> это функция с именем:</p>

<pre class="brush: js">function foo() {}</pre>

<p><strong>Внутренняя функция</strong> это функция внутри другой функции  (<code>square</code> в данном случае).<strong> Внешняя функция</strong> это функция содержащая функцию (<code>addSquares</code> в данном случае):</p>

<dl>
</dl>

<pre class="brush: js">function addSquares(a,b) {
   function square(x) {
      return x * x;
   }
   return square(a) + square(b);
}</pre>

<p><strong>Рекурсивная функция</strong> это функция которая вызывает саму себя. См {{Glossary("Recursion", "recursion")}}.</p>

<pre>function loop(x) {
   if (x &gt;= 10)
      return;
   loop(x + 1);
}

</pre>

<p><strong>Immediately Invoked Function Expressions</strong> (IIFE) это функция которая вызывается прямо после того как функция загружена в компилятор браузера. Способ объявления IIFE это путём размещения левых и правых круглых скобок в конце объявления функции.  В этом типе выражении функций много преимуществ, но это выходит за рамки курса. Если вы хотите узнать больше об IFFE, проверьте следующую страницу на Википедии.</p>

<p><a href="https://en.wikipedia.org/wiki/Immediately-invoked_function_expression">https://en.wikipedia.org/wiki/Immediately-invoked_function_expression</a></p>

<pre>Examples:

​function foo(){
 console.log('Здравствуй Foo');
}();


(function foo() {
​ console.log('Здравствуй Foo');
}());


(function food(){
    console.log('Здравствуй Foo');
})();</pre>

<p> </p>

<p> </p>

<h2 id="Узнайте_больше">Узнайте больше</h2>

<h3 id="Технический_справочник">Технический справочник</h3>

<ul>
 <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions" title="en-US/docs/Web/JavaScript/Guide/Functions">Функции</a></li>
</ul>