您好,登錄后才能下訂單哦!
小編給大家分享一下JavaScript創建命名空間的方法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在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
,如:
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();
4.通過函數(function)創建:(較為簡潔)
var NameSpace = NameSpace || {}; NameSpace.Hello = new function() { var self = this; var name = 'world'; self.sayHello = function(_name) { return 'Hello ' + (_name || name); }; };
以上是“JavaScript創建命名空間的方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。