blob: 424409f0811b7d34720153e2b1f8f0b05db3116a (
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 >= 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>
|