小編給大家分享一下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é)習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站名稱:JavaScript創(chuàng)建命名空間的方法有哪些
分享網(wǎng)址:http://chinadenli.net/article14/pijsge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、定制開發(fā)、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈、企業(yè)建站、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)