Globale Variablen in JavaScript
verursachen oft Namenskonflikte, und manchmal erfolgt sogar das Umschreiben von Variablen nicht in der Reihenfolge, die Sie sich vorgestellt haben. Um Global zu vermeiden Bei Konflikten mit Variablennamen
ist die Erstellung eines Namespace
die optimale Lösung. JavaScript
中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,所以为了避免全局变量名
冲突,创建命名空间
成为最优解。
1.通过闭包(Closure)和Object实现
在闭包中声明好所有变量和方法,并通过一个JSON
Object
返回公有接口:
var NameSpace = NameSpace || {}; NameSpace.Hello = (function() { //待返回的公有对象 var self = {}; //私有变量或方法 var name = 'world'; //公有方法或变量 self.sayHello = function(_name) { return 'Hello ' + (_name || name); } ; //返回的公有对象 return self; }());
2.通过JSON对象创建Object,代码如下:
var NameSpace = NameSpace || {}; NameSpace.Hello = { name: 'world' , sayHello: function(_name) { return 'Hello ' + (_name || this.name); } };
3.通过函数(function)创建:(较为复杂)
这是一种比较常见的写法,通过声明一个function
实现,函数里设置初始变量,公共方法写入prototype
1. Implementiert durch Abschluss und Objekt
Deklarieren Sie alle Variablen und Methoden im Abschluss und geben Sie sie über einJSON
Object
zurück. Öffentliche Schnittstelle: var NameSpace = NameSpace || {}; /* Function */ NameSpace.Hello = function() { this.name = 'world'; }; NameSpace.Hello.prototype.sayHello = function(_name) { return 'Hello ' + (_name || this.name); }; var hello = new NameSpace.Hello(); hello.sayHello();
prototype
, wie zum Beispiel: 🎜var NameSpace = NameSpace || {}; NameSpace.Hello = new function() { var self = this; var name = 'world'; self.sayHello = function(_name) { return 'Hello ' + (_name || name); }; };
Das obige ist der detaillierte Inhalt vonVerschiedene Möglichkeiten zum Erstellen von Namespaces in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!