Funkció nyilatkozat
A függvény deklarációval létrehozott függvény egy Function objektum, és rendelkezik a Function objektumok összes tulajdonságával, módszerével és viselkedésével. Példa:
function statement(item){ console.log('Function statement example '+ item); }
Funkció kifejezés
A függvény kifejezés hasonló a függvény utasításhoz, azzal a különbséggel, hogy a név neve elhagyható anonim függvények létrehozásához. Példa:
var expression = function (item){ console.log('Function expression example '+ item); }
Azonnal meghívott funkciók kifejezések
Amint létrejön a függvény, meghívja önmagát, nem kell kifejezetten meghívnia. Az alábbi példában az iife változó egy karakterláncot tárol, amelyet a függvény végrehajtása ad vissza.
var iife = function (){ return 'Immediately Invoked Function Expressions(IIFEs) example '; }(); console.log(iife); // 'Immediately Invoked Function Expressions(IIFEs) example '
Az IIFE előtti nyilatkozatnak mindig a-val kell végződnie; vagy hibát fog dobni.
Rossz példa :
var x = 2 //no semicolon, will throw error (function(y){ return x; })(x); //Uncaught TypeError: 2 is not a function
Miért érdemes használni az azonnal meghívott funkciók kifejezéseket?
(function(value){ var greet = 'Hello'; console.log(greet+ ' ' + value); })('IIFEs');
A fenti példában, amikor a javascript motor végrehajtja a fenti kódot, globális végrehajtási környezetet hoz létre, amikor meglátja a kódot, és létrehoz egy függvényobjektumot a memóriában az IIFE számára. És amikor 46
a hívott függvény miatt elérhetővé válik az interneten, új végrehajtási kontextus jön létre menet közben, és így az üdvözlő változó a függvény végrehajtási kontextusába kerül, nem pedig a globális szintre, ez teszi egyedivé. This ensures that code inside IIFE does not interfere with other code or be interfered by another code
és így a kód biztonságos.
Több információ
- Azonnal meghívott funkciókifejezés a Wikipédián
- Mit csinál a JavaScript-könyvtárak vezető pontosvesszője?