2010-03-08 9 views

Antwort

11

Der Hauptzweck der selbstausführenden anonymen Funktion besteht darin, alles in einen privaten Namespace zu packen, was bedeutet, dass alle deklarierten Variablen den globalen Namespace nicht wie eine Sandbox verschmutzen.

var test = 1; 

test den globalen Namensraum verschmutzen würde, würde window.test eingestellt werden.

(function() { 
    var test = 1; alert(test); 
})(); 

window.test ist undefiniert, weil es in unserer privaten Sandbox ist.

5

Das "schützt" den globalen Namensraum vor Kontamination.

(function() { 
    var something = "a thing"; 
    // ... 
    if (something != "a thing") alert("help!"); 
    // ... 
    function utility(a, b) { 
    // ... 
    }; 
    // ... 
})(); 

Jetzt sind diese temporären Variablen und Funktionen alle innerhalb dieser äußeren Wegwerffunktion geschützt. Der darin enthaltene Code kann sie verwenden, aber der globale Namespace wird sauber und frei von schmutzigen, unerwünschten Variablen gehalten.

Der globale Namespace ist eine wertvolle Ressource. Wir alle sollten uns seiner Bedeutung für uns selbst und besonders für unsere Kinder bewusst sein.

Verwandte Themen