Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

A függvény egy újrafelhasználható kódrészlet, amely akkor fut le, amikor meghívja. A funkciók lehetővé teszik a kód újrafelhasználását, így modulárisabbá és könnyebben karbantarthatóvá válik.

Számos módja van a függvények létrehozásának JavaScriptben. Itt megismerheti a funkciók létrehozásának különböző módjait és azok használatát.

Funkciónyilatkozatok: Az egyenes út

Függvények létrehozásának egyik módja a JavaScriptben a függvénydeklarációk. A függvénydeklaráció egy JavaScript függvény, amely az alábbi szintaxist követi.

funkciófunctionName(paramétereket) {
// a kód ide megy...
Visszatérés"Ez egy függvény deklaráció";
}

A fenti kódblokk összetevői a következők:

  • A funkció kulcsszó: Ez a kulcsszó deklarál egy függvényt.
  • functionName: Ez a függvény neve. A gyakorlatban a lehető legleíróbbnak és értelmesebbnek kell lennie, jelezve, hogy a funkció mit csinál.
  • paramétereket: Ez a funkció paramétereit jelöli. A paraméterek olyan változók opcionális listája, amelyeket átadhat egy függvénynek, amikor meghívja azt.
  • A függvény törzse: Ez tartalmazza azt a kódot, amelyet a függvény a meghívásakor futtat. Göndör fogszabályzó veszi körül {} és bármilyen érvényes JavaScript kódot tartalmazhat.
  • A Visszatérés utasítás: Ez az utasítás leállítja a függvény végrehajtását, és visszaadja a megadott értéket. A fenti esetben a függvény meghívása a „Ez egy függvénydeklaráció” karakterláncot adná vissza.

Például az alábbi függvénydeklaráció három számot vesz fel paraméterként, és ezek összegét adja vissza.

funkcióaddThreeNumbers(a, b, c) {
Visszatérés a + b + c;
}

Funkciódeklaráció JavaScriptben való meghívásához írja be a függvény nevét, majd egy zárójelet (). Ha a függvény bármilyen paramétert felvesz, adja át azokat argumentumként a zárójelben.

Például:

addThreeNumbers(1, 2, 3) // 6

A fenti kódblokk a addThreeNumber függvényeket, és átadja az 1-et, a 2-t és a 3-at argumentumként a függvénynek. Ha ezt a kódot futtatja, akkor a 6-os értéket adja vissza.

JavaScript emelők függvénydeklarációkat, vagyis meghívhatja őket, mielőtt meghatározná őket.

Például:

isHoisted(); // A funkció fel van emelve

funkcióisHoisted() {
konzol.log("A funkció fel van emelve");
Visszatérésigaz;
}

Ahogy a fenti kódblokkban látható, hívás isHoisted definiálása előtt nem okozna hibát.

Függvénykifejezések: Funkciók értékként

A JavaScriptben egy függvényt kifejezésként definiálhat. Ezután hozzárendelheti a függvény értékét egy változóhoz, vagy használhatja argumentumként egy másik függvényhez.

Névtelen függvényeknek is nevezik őket, mivel nincs nevük, és csak abból a változóból hívhatja meg őket, amelyhez hozzárendelte őket.

Az alábbiakban egy függvénykifejezés szintaxisa látható:

const functionName = funkció () {
Visszatérés"Funkció kifejezés";
};

Függvénykifejezés JavaScriptben való meghívásához írja be a függvényhez rendelt változónevet, majd zárójeleket (). Ha a függvény bármilyen paramétert felvesz, adja át azokat argumentumként a zárójelben.

Például:

functionName(); // Függvénykifejezés

A függvénykifejezések hasznosak olyan függvények létrehozásakor, amelyek más függvényekben futnak. Tipikus példák az eseménykezelők és azok visszahívásai.

Például:

button.addEventListener("kattintás", funkció (esemény) {
konzol.log(– Megnyomott egy gombot!);
});

A fenti példa egy függvénykifejezést használt, amely egy esemény érv, mint visszahívás a addEventListener funkció. Nem kell kifejezetten meghívnia a függvényt, ha függvénykifejezést használ visszahívásként. A szülő függvény automatikusan meghívja.

A fenti esetben, amikor az eseményfigyelő megkapja a kattintson esemény esetén meghívja a visszahívási függvényt, és átadja a esemény tárgyat érvként.

A függvénydeklarációkkal ellentétben a függvénykifejezéseket nem emelik ki, így nem hívhatja meg őket, mielőtt meghatározná őket. Ha megpróbál hozzáférni egy függvénykifejezéshez, mielőtt meghatározná azt, az a ReferenceError.

Például:

isHoisted(); // ReferenceError: Az „isHoisted” nem érhető el inicializálás előtt

const isHoisted = funkció () {
konzol.log("A funkció fel van emelve");
};

Nyíl funkciók: kompakt és korlátozott

Az ES6 bevezetett egy gyorsírást a névtelen függvények JavaScriptben történő írásához, amelyeket nyílfüggvényeknek neveznek. Tömör szintaxisuk van, amely olvashatóbbá teheti a kódot, különösen, ha rövid, egysoros függvényekkel foglalkozik.

A függvények létrehozásának más módszereivel ellentétben a nyílfüggvényekhez nincs szükség a funkció kulcsszó. A nyílfüggvény kifejezés három részből áll:

  • egy pár zárójel (()) tartalmazza a paramétereket. A zárójeleket elhagyhatja, ha a függvénynek csak egy paramétere van.
  • Egy nyíl (=>), amely egyenlőségjelből áll (=) és nagyobb mint jel (>).
  • A funkciótestet tartalmazó göndör fogszabályozó pár. A kapcsos zárójeleket elhagyhatja, ha a függvény egyetlen kifejezésből áll.

Például:

// Egyparaméteres, implicit visszatérés
const functionName = paraméter =>konzol.log("Egyparaméteres nyíl funkció")

// Több paraméter, explicit visszatérés
const functionName = (paraméter_1, paraméter_2) => {
Visszatérés"Többparaméteres nyíl funkció"
};

Ha elhagyja a kapcsos zárójeleket, a nyíl függvény implicit módon az egyetlen kifejezést adja vissza, így nincs szükség a Visszatérés kulcsszó. Másrészt, ha nem hagyja ki a kapcsos zárójeleket, akkor kifejezetten vissza kell adnia egy értéket a Visszatérés kulcsszó.

A nyílfüggvények is eltérőek ez kötelező a normál funkciókhoz képest. Szabályos függvényekben az értéke ez attól függ, hogyan hívod a függvényt. Nyíl függvényben, ez mindig kötődik a ez a környező hatótáv értéke.

Például:

const foo = {
név: "Dave",
üdvözöl: funkció () {
setTimeout(() => {
konzol.log(`Hello, a nevem ${ez.név}`);
}, 1000);
},
};

foo.greet(); // A "Hello, my name is Dave" 1 másodperc után naplózza

A fenti példában a nyíl függvény a üdvözöl módszernek van hozzáférése ez a név, annak ellenére, hogy a setTimeout függvény hívja meg. Egy normál funkciónak megvan a maga ez a globális objektumhoz kötve.

Ahogy a neve is sugallja, az azonnal meghívott függvény (IIFE) olyan függvény, amely a definiálás után azonnal lefut.

Íme az IIFE felépítése:

(funkció () {
// kód itt
})();

(() => {
// kód itt
})();

(funkció (param_1, param_2) {
konzol.log (param_1 * param_2);
})(2, 3);

Az IIFE egy függvénykifejezésből áll, amely zárójelpárba van csomagolva. Kövesse ezt egy pár zárójellel a burkolaton kívül a funkció meghívásához.

Az IIFE-k segítségével hatóköröket hozhat létre, elrejtheti a megvalósítás részleteit, és megoszthat adatokat több parancsfájl között. Egykor használták a modulrendszer JavaScriptben.

Funkció létrehozása sokféle módon

Kulcsfontosságú, hogy megértsük, hogyan lehet függvényeket létrehozni JavaScriptben. Ez igaz egy egyszerű számítást végrehajtó alapfunkcióra vagy egy olyan kifinomult függvényre, amely kölcsönhatásba lép a kód más részeivel.

A fent tárgyalt technikákat használhatja JavaScript-funkciók létrehozására, valamint a kód felépítésére és rendszerezésére. Válassza ki az igényeinek leginkább megfelelő megközelítést, mivel mindegyiknek különböző előnyei és alkalmazásai vannak.