In diesem Beitrag werden verschiedene Arten von Diskussionen erörtert Namespaces In JavaScript. So lass uns anfangen!
JavaScript -Namespace
Das Konzept des Hinzufügens von Klassen, Methoden, Variablen und Objekten in einem Container ist als "bekannt als"Namespace”In JavaScript. Der Code, den Sie in einem JavaScript -Programm und den vordefinierten Methoden schreiben, werden in der “gespeichert“Fenster"Variable, als" betrachtet "Globaler Namespace“. Dieser Fenster -Namespace wird verwendet, wenn eine neue Variable erstellt wird. Wenn Sie jeden Wert in der neu erstellten Variablen speichern. So funktioniert die Hierarchie in JavaScript.
Arten von Namespaces in JavaScript
JavaScript unterstützt zwei Arten von Namespaces:
Wir werden beide genannten Namespaces -Typen im Detail diskutieren.
Statischer Namespace in JavaScript
Wenn ein "Namespace -Etikett"Ist hartcodiert und eine Funktion ist darin definiert, sie ist als" bekannt "Statischer Namespace“. Es ermöglicht die Neuzuweisung der Namespaces; Ein statischer Namespace bezieht sich jedoch immer auf dieselben alten JavaScript -Objekte.
Die statischen Namespaces in JavaScript sind in die folgenden Kategorien unterteilt:
Lassen Sie uns nun die Funktionalität jeder der angegebenen Arten des statischen Namespace verstehen.
Statischer Namespace mit direkter Zuordnung
In "Direkte Aufgabe”, Funktionen werden mit dem bereits erstellten statischen Namespace definiert. Zum Beispiel werden wir im folgenden Beispiel ein mit dem Namen namens “erstellen“Student,Das fungiert als statischer Namespace:
var student =Danach werden wir zwei Funktionen definieren “GetName ()" Und "getage ()"Und verknüpfen sie mit dem" zusammen "StudentNamespace:
Student.getName = function ()Als Funktionen werden direkt dem zugeordnetStudentNamespace, es führt zu der folgenden Ausgabe:
Statischer Namespace mit Objektliteralnotation
In dieser Art von statischer Namespace werden Funktionen innerhalb der hinzugefügt Namespace bei Objektdeklaration.
Im folgenden Programm haben wir das verwendet Objekt wörtlicher Notation einen statischen Namespace definieren “Student”Und fügen Sie die" hinzu "GetName ()" Und "getage ()”Funktion innerhalb seines Geltungsbereichs:
var student =Ausgang
Statischer Namespace mit Modulmuster
Das JavaScript "Modulmuster”Verwendet a Funktionsumpackung Das kehrt zurück ein Objekt. Das zurückgegebene Objekt bezieht sich auf die Logik der öffentlichen Schnittstelle des Moduls im globalen Bereich.
Diese Art von statischer Namespace ruft die Funktion auf, speichert den zurückgegebenen Wert für die Namespace -Variable und sperrt die Modul -API in den Namenspace Scope. Die nicht im Rückgabewert enthaltenen Variablen werden privat gehalten und nur für die Funktion zugänglich, die sich auf sie bezieht.
Beispiel
Wir werden jetzt definieren “Student" Als ein statischer Namespace und wickeln Sie es in eine Funktion ein:
Der Wert, der durch die zurückgegeben wirdGetName ()" Und "getage ()Methoden werden in der erstellten statischen Namespace -Variablen gespeichert:
Dynamischer Namespace in JavaScript
Anstatt ein Namespace -Etikett zu färben, ist eine “Dynamischer Namespace" Ist verwiesen innerhalb der Funktionsumpackung. Diese Art von Namespace beseitigt die Anforderung, den Rückgabewert zu kombinieren, um diese Werte dem definierten Namespace zuzuweisen. Es wird hauptsächlich in Situationen verwendet, in denen mehrere unabhängige Instanzen eines Moduls in verschiedenen Fällen erstellt werden.
Der dynamische Namespace kann in JavaScript durch Übergabe des Namespace als "StreitOder definieren es mit dem "anwenden" Stichwort.
Lassen Sie uns beide Verfahren nacheinander verstehen.
Dynamischer Namespace als Argument übergeben
JavaScript ermöglicht es Ihnen, a zu erstellen Dynamischer Namespace indem Sie es als eine vorübergehen Streit zum Selbstverständlichkeit. Diese Funktionen werden mit Hilfe des bestandenen Arguments definiert.
Zum Beispiel werden wir eine "erstellen"Student"Namespace und als Argument bestehen"std”. Danach werden wir die "definieren"GetName ()" Und "getage ()”Funktionen, indem sie die“ nutzen “std" Streit:
var student = ; (function (std)Die Ausführung des oben gegebenen Programms zeigt die folgende Ausgabe an:
Erstellen dynamischer Namespace mit Schlüsselwort anwenden
Eine andere Methode, um a zu erstellen Dynamischer Namespace ist die Verwendung der “anwenden” Stichwort und geben Sie es als Argument vorbei. Danach fügen Sie die erforderlichen Funktionen mit dem hinzuDas" Stichwort.
Beispiel
var student = ; (function ()Ausgang
Das waren alles wesentliche Informationen über die Typen von Namespaces In JavaScript. Sie können nach Bedarf recherchieren.
Abschluss
Der Statischer Namespace Typ Hardcodes Die Namespace -Etikett und definiert Funktionen innerhalb und die Dynamischer Namespace Typ ist verwiesen innerhalb der Funktionsumpackung. In JavaScript wird der statische Namespace mit direkter Zuordnung, Objektnotation und Modulmuster erstellt. Im Gegensatz dazu wird ein dynamischer Namespace definiert, indem es als Argument übergeben oder das Schlüsselwort anwenden. In diesem Beitrag wurde die Arten von Namespaces in JavaScript erörtert.