aboutsummaryrefslogtreecommitdiff
path: root/files/hu/glossary/first-class_function/index.html
blob: e20a6bb16d407ad17079d590007ba4f791ab1918 (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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---
title: Elsőrendű függvények
slug: Glossary/First-class_Function
tags:
  - JavaScript
  - Szkriptelés
  - Szójegyzék
translation_of: Glossary/First-class_Function
original_slug: Glossary/Elso_osztalyu_funkciok
---
<p>Egy programnyelvnek <strong>Elsőrendű függvény</strong>ei vannak, ha a nyelv függvényeit úgy kezeljük mint a többi változót. Egy ilyen nyelveben függvényeket adhatunk meg más függvények paramátereként, függvények más függvényeket adhatnak vissza és váltózókhoz is hozzárendelhetjük őket.</p>

<h2 id="Példa_Függvény_hozzárendelése_változóhoz">Példa | Függvény hozzárendelése változóhoz</h2>

<h3 id="JavaScript">JavaScript</h3>

<pre class="brush: js">const foo = function() {
   console.log("foobar");
}
// Meghívás a változóra való hivatkozással
foo();
</pre>

<p>Egy <code>Névtelen függvényt</code> rendeltünk egy <code>Váltózóhoz</code>, ezután a változó segítségével meghívtuk a függvényt úgy, hogy zárójelet tettünk <code>()</code> a változónév végére.</p>

<div class="note">
<p><strong>Ha a függvény el is lenne nevezve, </strong>akkor is használhatnánk a változót a meghívására. Az elnevezés segítségünkre lehet a hibakeresésé során, <em>de nem érinti a függvény meghívási módját.</em></p>
</div>

<h2 id="Példa_Függvény_átadása_argumentumként">Példa | Függvény átadása argumentumként</h2>

<h3 id="JavaScript_2">JavaScript</h3>

<pre class="brush: js">function koszones() {
   return "Helló, ";
}
function udvozlet(koszont, nev) {
  console.log(koszont() + nev);
}
// `koszones` átadása argumentumként az `udvozlet` függénynek
udvozlet(koszones, "JavaScript!");
</pre>

<p>A <code>koszones()</code> függvényt adjuk át az <code>udvozlet()</code> függvény argumentumaként, ami magyarázatot ad arra, hogy hogyan tudjuk a függényeket <code>érték</code>ként kezelni.</p>

<div class="note">
<p>A függvényt, aminek egy másik függvényt adunk át argumentumként, <strong><a href="/en-US/docs/Glossary/Callback_function">Visszahívó Függvénynek</a></strong> nevezzük. <em><code>koszones</code> egy visszahívó függvény.</em></p>
</div>

<h2 id="Példa_Függvény_visszatérítése">Példa | Függvény visszatérítése</h2>

<h3 id="JavaScript_3">JavaScript</h3>

<pre class="brush: js">function koszones() {
   return function() {
      console.log("Helló!");
   }
}
</pre>

<p>Ebben a példában egy függvényt kell visszatérítenünk egy másik függvényből - <em>Azért tudjuk ezt megtenni, mert a JavaScript </em><em>a függvényeket </em><em><code>érték</code></em><em>ként kezeli.</em></p>

<div class="note">
<p>Azt a függvényt, amely egy másik függnény térít vissza,  <strong>Felsőbbrend</strong><strong>ű Függvény</strong>nek nevezzük.</p>
</div>

<p>Visszatérve a példánkra; most a <code>koszones</code> függvényt kell meghívnunk, amit <code>Névtelen Függvény</code>ként kaptunk vissza. Ez kétféle módon lehetséges:</p>

<h3 id="1-_Változó_használata">1- Változó használata</h3>

<pre class="brush: js">const koszones = function() {
   return function() {
      console.log("Helló!");
   }
}
const fuggvenyem = koszones();
fuggvenyem();
</pre>

<p>Így megkapjuk a <code>Helló!</code> üzenetet.</p>

<div class="note">
<p>Változót kell használnunk. Ha <code>koszones</code>t közvetlenül hívtuk volna meg, a függvényt adta volna vissza <strong>anélkül, hogy meghívta volna a visszatérített függvényt</strong>.</p>
</div>

<h3 id="2-_Dupla_zárójel_használata">2- Dupla zárójel használata</h3>

<pre class="brush: js">function koszones() {
   return function() {
      console.log("Helló!");
   }
}
koszones()();
</pre>

<p>Dupla zárojelet <code>()()</code> használunk, hogy meghívjuk a visszatérített függvényt.</p>

<h2 id="Tudjon_meg_többet">Tudjon meg többet</h2>

<h3 id="Általános_Ismeretek">Általános Ismeretek</h3>

<ul>
 <li>{{Interwiki("wikipedia", "Elsőrendű függvény", "Elsőrendű függvények")}} a Wikipédián</li>
</ul>