In javascript, wann würden Sie dies verwenden möchten:
(function(){
//Bunch of code...
})();
darüber:
//Bunch of code...
In javascript, wann würden Sie dies verwenden möchten:
(function(){
//Bunch of code...
})();
darüber:
//Bunch of code...
Die kurze Antwort ist: um eine Verschmutzung des globalen (oder höheren) Bereichs zu verhindern.
IIFE (Immediately Invoked Function Expressions) ist das beste Verfahren für das Schreiben von Skripten als Plug-ins, Add-ons, Benutzerskripte oder sonstige Skripte, die mit den Skripten anderer Leute zusammenarbeiten sollen . Dadurch wird sichergestellt, dass eine von Ihnen definierte Variable keine unerwünschten Auswirkungen auf andere Skripte hat.
Dies ist die andere Art, einen IIFE-Ausdruck zu schreiben. Ich persönlich bevorzuge die folgende Methode:
void function() {
console.log('boo!');
// expected output: "boo!"
}();
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void
Aus dem obigen Beispiel wird deutlich, dass IIFE auch die Effizienz und Leistung beeinträchtigen kann, da die Funktion, die nur einmal ausgeführt werden soll wird einmal ausgeführt und dann für immer ins Nichts entsorgt . Dies bedeutet, dass die Deklaration einer Funktion oder Methode nicht im Speicher verbleibt.
Sie können diese Funktion verwenden, um Werte zurückzugeben:
var Test = (function (){
const alternative = function(){ return 'Error Get Function '},
methods = {
GetName: alternative,
GetAge:alternative
}
// If the condition is not met, the default text will be returned
// replace to 55 < 44
if( 55 > 44){
// Function one
methods.GetName = function (name) {
return name;
};
// Function Two
methods.GetAge = function (age) {
return age;
};
}
return methods;
}());
// Call
console.log( Test.GetName("Yehia") );
console.log( Test.GetAge(66) );
Zuerst müssen Sie besuchen MDN IIFE Nun einige Punkte dazu
Selbstausführende Funktionen werden verwendet, um den Umfang einer Variablen zu verwalten.
Der Geltungsbereich einer Variablen ist der Bereich Ihres Programms, in dem sie definiert ist.
Eine globale Variable hat einen globalen Geltungsbereich; sie wird überall in Ihrem JavaScript-Code definiert und kann von überall im Skript, sogar in Ihren Funktionen, aufgerufen werden. Variablen, die innerhalb einer Funktion deklariert werden, sind dagegen nur im Körper der Funktion definiert. Sie sind lokale Variablen, haben einen lokalen Geltungsbereich und können nur innerhalb dieser Funktion aufgerufen werden. Funktionsparameter gelten ebenfalls als lokale Variablen und werden nur innerhalb des Funktionskörpers definiert.
Wie unten gezeigt, können Sie innerhalb Ihrer Funktion auf die Variablen der globalen Variablen zugreifen. Beachten Sie auch, dass innerhalb des Körpers einer Funktion eine lokale Variable Vorrang vor einer globalen Variable mit demselben Namen hat.
var globalvar = "globalvar"; // this var can be accessed anywhere within the script
function scope() {
alert(globalvar);
var localvar = "localvar"; //can only be accessed within the function scope
}
scope();
Also im Grunde eine selbst ausführende Funktion ermöglicht Code geschrieben werden, ohne Sorge, wie Variablen in anderen Blöcken von Javascript-Code benannt werden.
Selbst aufgerufene Funktion in Javascript:
Ein selbstaufrufender Ausdruck wird automatisch aufgerufen (gestartet), ohne aufgerufen zu werden. Ein selbstaufrufender Ausdruck wird direkt nach seiner Erstellung aufgerufen. Dies dient vor allem der Vermeidung von Namenskonflikten und der Kapselung. Die Variablen oder deklarierten Objekte sind außerhalb dieser Funktion nicht zugänglich. Um die Probleme der Minimierung (Dateiname.min) zu vermeiden, sollten Sie immer eine selbstausführende Funktion verwenden.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.