Home » Uncategorized » IIFE in JavaScript

IIFE in JavaScript

Immediately invokes function expressions: Das sind Funktionsdefinitionen, welche durch das hinten Anhängen eines () sofort aufgerufen werden.

function(){console.log("Schon ausgeführt!";}(); 

Hier ein interessanter Anwendungsfall einer IIFE:

Dieses script.js file zeigt einen anwendungsfall einer IIFE. Dem ‚onclick‚-Ereignis des Buttons wird eine Funktion ‚countAlerter‚ zugeordnet. (Auf den ersten Blick scheint es zwar, die äussere, anonyme Funktion werde zugeordnet, was nicht stimmt, denn diese wird ja direkt mit ‚()‚ aufgerufen und der Rückgabewert dieses Aufrufs wird onclick zugordnet.) Da countAlerter aber innerhalb einer enclosing Function definiert ist behält die countAlerter die darin enthaltene (Objekt-)Variable ‚clickCount‘ in seiner Closure.

let button = document.getElementById("b1")
button.onclick = function(){
    let clickCount = 0;
    return function countAlerter(){
        alert('Click nbr ' + clickCount++);
    }
}();

Diese Funktion gibt also bei jedem Klick auf den Button die bereits getätigte Anzahl Klicks aus.


Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert