Heim > Artikel > Web-Frontend > JavaScript simuliert namespace_javascript-Tipps
In C und C# werden Namespaces verwendet, um Namenskonflikte zu minimieren. Beispielsweise helfen Namespaces im .NET Framework dabei, die Microsoft.Build.Task.Message-Klasse von System.Messaging.Message zu unterscheiden. JavaScript verfügt über keine sprachspezifischen Funktionen zur Unterstützung von Namespaces, aber es ist einfach, Namespaces mithilfe von Objekten zu emulieren. Wenn Sie eine JavaScript-Bibliothek erstellen, können Sie diese in einen Namensraum einschließen, ohne globale Funktionen und Klassen zu definieren, wie folgt:
var MSDNMagNS = {}; MSDNMagNS.Pet = function(name) { // code here }; MSDNMagNS.Pet.prototype.toString = function() { // code }; var pet = new MSDNMagNS.Pet(“Yammer”);
Eine Ebene eines Namespace ist möglicherweise nicht eindeutig, sodass verschachtelte Namespaces erstellt werden können:
var MSDNMagNS = {}; // nested namespace “Examples” MSDNMagNS.Examples = {}; MSDNMagNS.Examples.Pet = function(name) { // code }; MSDNMagNS.Examples.Pet.prototype.toString = function() { // code }; var pet = new MSDNMagNS.Examples.Pet(“Yammer”);
Wie Sie sich vorstellen können, kann das Eintippen dieser langen verschachtelten Namespaces ermüdend sein. Glücklicherweise können Bibliotheksbenutzer problemlos kürzere Aliase für Namespaces angeben:
// MSDNMagNS.Examples and Pet definition... // think “using Eg = MSDNMagNS.Examples;” var Eg = MSDNMagNS.Examples; var pet = new Eg.Pet(“Yammer”); alert(pet);
Wenn Sie sich den Quellcode der Microsoft AJAX-Bibliothek ansehen, werden Sie feststellen, dass der Autor der Bibliothek eine ähnliche Technologie zur Implementierung von Namespaces verwendet hat. Freunde, die sie benötigen, können sich an Du Niang wenden um es zu finden.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für alle hilfreich sein, die Javascript lernen