Einführung
Wenn man sich mit der Entwicklung von jQuery-Plugins beschäftigt, stößt man oft auf kryptischen Code Ausschnitt:
(function($) {})(jQuery);
Dieser rätselhafte Ausdruck ist im Bereich der jQuery-Plugins von großer Bedeutung. Lassen Sie uns seinen Zweck entschlüsseln und die Nuancen der Plugin-Konstruktion erkunden.
Die Ausführung einer Funktion mit einem Argument
Der Codeblock führt im Wesentlichen eine anonyme Funktion aus, die die jQuery empfängt Objekt als Argument. Diese als „sofort aufgerufener Funktionsausdruck“ (IIFE) bekannte Technik dient mehreren Zwecken:
Vergleich der Plugin-Schreibstile
Über diese grundlegende Verwendung hinaus gibt es mehrere Ansätze zum Schreiben von jQuery-Plugins. Lassen Sie uns die Unterschiede zwischen drei gängigen Stilen untersuchen:
Typ 1: Erweitern des jQuery-Selektors
(function($) { $.fn.jPluginName = { }, $.fn.jPluginName.defaults = { } })(jQuery);
Dieser Ansatz erweitert den jQuery-Selektor um eine benutzerdefinierte Methode, aber das ist so technisch gesehen kein Plugin. Es fügt neue Funktionen zu den vorhandenen Methoden des jQuery-Funktionsprototyps hinzu.
Typ 2: Erweiterung des jQuery-Kerns
(function($) { $.jPluginName = { } })(jQuery);
Ähnlich wie Typ 1, hierdurch wird nicht erstellt ein Plugin, erweitert aber den jQuery-Kern. Es ist nützlich, um dem Arsenal von jQuery neue Traversal-Methoden hinzuzufügen.
Typ 3: Erweiterung des Prototyps der jQuery-Funktion
(function($){ //Attach this new method to jQuery $.fn.extend({ var defaults = { } var options = $.extend(defaults, options); //This is where you write your plugin's name pluginname: function() { //Iterate over the current set of matched elements return this.each(function() { //code to be inserted here }); } }); })(jQuery);
Typ 3 ist die bevorzugte Methode zum Erstellen von jQuery Plugins. Es ermöglicht die Erstellung benutzerdefinierter Methoden, die auf jedem jQuery-Selektor aufgerufen werden können. Durch die Erweiterung des Prototyps der jQuery-Funktion wird die Funktionalität des Plugins für alle Selektorinstanzen zugänglich.
Das obige ist der detaillierte Inhalt vonWarum ein IIFE bei der Entwicklung von jQuery-Plugins verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!