aboutsummaryrefslogtreecommitdiff
path: root/files/hu/web/javascript/reference/global_objects/függvény/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/hu/web/javascript/reference/global_objects/függvény/index.html')
-rw-r--r--files/hu/web/javascript/reference/global_objects/függvény/index.html112
1 files changed, 112 insertions, 0 deletions
diff --git a/files/hu/web/javascript/reference/global_objects/függvény/index.html b/files/hu/web/javascript/reference/global_objects/függvény/index.html
new file mode 100644
index 0000000000..2e1f19b7c6
--- /dev/null
+++ b/files/hu/web/javascript/reference/global_objects/függvény/index.html
@@ -0,0 +1,112 @@
+---
+title: Függvény
+slug: Web/JavaScript/Reference/Global_Objects/Függvény
+tags:
+ - Függvény
+ - JavaScript
+ - Osztály
+translation_of: Web/JavaScript/Reference/Global_Objects/Function
+---
+<div>{{JSRef}}</div>
+
+<p>Minden JavaScript függvény tulajdonképpen egy <code>Function</code> objektum. Ez látható a következő kódnál, amely igazat ad vissza: <code>(function(){}).constructor === Function</code>.</p>
+
+<h2 id="Konstruktor">Konstruktor</h2>
+
+<dl>
+ <dt>{{jsxref("Function/Function", "Function()")}}</dt>
+ <dd>Létrehoz egy új <code>Function</code> objektumot. A konstruktor közvetlen meghívásával dinamikusan hozhatók létre függvények, de ez biztonsági és az {{jsxref("eval")}}hoz hasonló (de sokkal kevésbé jelentős) teljesítménybeli problémáktól szenved. Viszont, az evaltól ellentétben, a <code>Function</code> konstruktor olyan függvényeket hoz létre, melyek mindig a globális hatókörben hajtódnak végre.</dd>
+</dl>
+
+<h2 id="Példánytulajdonságok">Példánytulajdonságok</h2>
+
+<dl>
+ <dt>{{jsxref("Function.arguments")}}</dt>
+ <dd>A függvénynek átadott argumentumokból álló tömb.<br>
+ A {{jsxref("Function")}} elavult tulajdonsága. Helyette az {{jsxref("Functions/arguments", "arguments")}} objektum (a függvényen belül érhető el) használandó.</dd>
+ <dt>{{jsxref("Function.caller")}}</dt>
+ <dd>A jelenleg futó függvényt meghívó függvényt adja meg.<br>
+ Ez a tulajdonság elavult, és csak egyes nem szigorú függvényekben működik.</dd>
+ <dt>{{jsxref("Function.displayName")}}</dt>
+ <dd>A függvény megjelenítendő neve.</dd>
+ <dt>{{jsxref("Function.length")}}</dt>
+ <dd>Megadja a függvény által várt argumentumok számát.</dd>
+ <dt>{{jsxref("Function.name")}}</dt>
+ <dd>A függvény neve.</dd>
+</dl>
+
+<h2 id="Példánymetódusok">Példánymetódusok</h2>
+
+<dl>
+ <dt>{{jsxref("Function.prototype.apply()", "Function.prototype.apply(<var>thisArg</var> [, <var>argsArray</var>])")}}</dt>
+ <dd>Meghív egy függvényt, és beállítja a <code>this</code> értékét a megadott <code><var>thisArg</var></code> értékre. Az argumentumok {{jsxref("Array")}} objektumként adhatók át.</dd>
+ <dt>{{jsxref("Function.prototype.bind()", "Function.prototype.bind(<var>thisArg</var>[, <var>arg1</var>[, <var>arg2</var>[, ...<var>argN</var>]]])")}}</dt>
+ <dd>Létrehoz egy új függvényt, amely meghívásakor beállítja a <code>this</code> értékét a megadott <code><var>thisArg</var></code> értékre. Az opcionálisan megadható argumentumsor az új függvény meghívásakor átadott argumentumok elé lesz fűzve.</dd>
+ <dt>{{jsxref("Function.prototype.call()", "Function.prototype.call(<var>thisArg</var>[, <var>arg1</var>, <var>arg2</var>, ...<var>argN</var>])")}}</dt>
+ <dd>Meghív egy függvényt, és beállítja a <code>this</code> értékét a megadott értékre. Az argumentumok egyszerűen átadhatók.</dd>
+ <dt>{{jsxref("Function.prototype.toString()", "Function.prototype.toString()")}}</dt>
+ <dd>Visszaadja a függvény forráskódját ábrázáló karakterláncot.<br>
+ Felülírja a {{jsxref("Object.prototype.toString")}} metódust.</dd>
+</dl>
+
+<h2 id="Példák">Példák</h2>
+
+<h3 id="Különbség_a_Function_konstruktor_és_a_függvénydeklaráció_között">Különbség a Function konstruktor és a függvénydeklaráció között</h3>
+
+<p>A <code>Function</code> konstruktorral létrehozott függvények nem hoznak létre zárványt a létrehozási környezetükhöz, mindig a globális hatókörbe kerülnek. Futtatáskor csak a saját helyi változóit és a globálisakat éri el, a <code>Function</code> konstruktor meghívásakor aktív hatókörben szereplőket nem. Ez különbözik az {{jsxref("eval")}} függvénykifejezésen történő használatától.</p>
+
+<pre class="brush: js notranslate">var x = 10;
+
+function createFunction1() {
+ var x = 20;
+ return new Function('return x;'); // az |x| a globális |x|-et jelenti
+}
+
+function createFunction2() {
+ var x = 20;
+ function f() {
+ return x; // ez az |x| a fent lévő helyi |x|-et jelenti
+ }
+ return f;
+}
+
+var f1 = createFunction1();
+console.log(f1()); // 10
+var f2 = createFunction2();
+console.log(f2()); // 20
+</pre>
+
+<p>A kód működik a webböngészőkben, de az <code>f1()</code> <code>ReferenceError</code> hibát okoz Node.js-ben, mert az <code>x</code> nem található. Ez azért van, mert a Node legfelső szintű hatóköre nincs a globális hatókörben, és az <code>x</code> a modulra nézve helyi változó lesz.</p>
+
+<h2 id="Specifikációk">Specifikációk</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-function-objects', 'Function')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Böngészőkompatibilitás">Böngészőkompatibilitás</h2>
+
+<div>
+<div class="hidden">Az oldalon lévő kompatibilitási táblázat strukturált adatokból készül. Ha közreműködnél az adatokban, akkor keresd fel a <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> tárolót, és küldj beolvasztási kérést.</div>
+
+<p>{{Compat("javascript.builtins.Function")}}</p>
+</div>
+
+<h2 id="Lásd_még">Lásd még:</h2>
+
+<ul>
+ <li>{{jsxref("Functions", "Függvények és függvényhatókör")}}</li>
+ <li>{{jsxref("Statements/function", "function utasítás")}}</li>
+ <li>{{jsxref("Operators/function", "function kifejezés")}}</li>
+ <li>{{jsxref("Statements/function*", "function* utasítás")}}</li>
+ <li>{{jsxref("Operators/function*", "function* kifejezés")}}</li>
+ <li>{{jsxref("AsyncFunction")}}</li>
+ <li>{{jsxref("GeneratorFunction")}}</li>
+</ul>