小編給大家分享一下JavaScript創(chuàng)建命名空間的方法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)公司將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
在JavaScript
中全局變量經(jīng)常會引起命名沖突,甚至有時侯重寫變量也不是按照你想像中的順序來的,所以為了避免全局變量名
沖突,創(chuàng)建命名空間
成為最優(yōu)解。
1.通過閉包(Closure)和Object實現(xiàn)
在閉包中聲明好所有變量和方法,并通過一個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對象創(chuàng)建Object,代碼如下:
var NameSpace = NameSpace || {}; NameSpace.Hello = { name: 'world' , sayHello: function(_name) { return 'Hello ' + (_name || this.name); } };
3.通過函數(shù)(function)創(chuàng)建:(較為復(fù)雜)
這是一種比較常見的寫法,通過聲明一個function
實現(xiàn),函數(shù)里設(shè)置初始變量,公共方法寫入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.通過函數(shù)(function)創(chuàng)建:(較為簡潔)
var NameSpace = NameSpace || {}; NameSpace.Hello = new function() { var self = this; var name = 'world'; self.sayHello = function(_name) { return 'Hello ' + (_name || name); }; };
以上是“JavaScript創(chuàng)建命名空間的方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!