這篇文章主要介紹JavaScript命名空間的作用,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

命名空間在英語中稱為namespace,它是編程中的概念之一,存在“命名空間”的概念可以避免名稱沖突。
命名空間是什么?
命名空間指的是一種排序機(jī)制,以便在“空間”中只有一個相同的名稱。
空間就像一種容器。
例如,名字“湯姆” 可能指的是多個人,但通過為每個姓氏創(chuàng)建命名空間,我們可以區(qū)分哪個“湯姆”。
事實上,你可以知道到命名空間“上官”中的“湯姆”和“歐陽”中的“湯姆”是不同的人。
使用命名空間的好處
命名空間的主要目的是避免名稱沖突。
對于小規(guī)模程序,使用命名空間的好處可能不會太多。
但是,某種大規(guī)模的程序可能與其他程序,服務(wù)器等有關(guān)。
在這種情況下,使用命名空間可以減輕程序員的負(fù)擔(dān)。
由于可以防止名稱沖突引起的問題,我們可以消除不必要的處理。
如何使用命名空間?
讓我們在JavaScript程序中實際引入命名空間的概念。
首先,來看一個不使用命名空間的簡單程序。
<html>
<body>
<script>
function addition(num1,num2) {
return num1+num2;
}
function multiplication(num1,num2) {
return num1*num2;
}
var operation = addition(5,10);
console.log(operation)
</script>
</body>
</html>執(zhí)行結(jié)果:15
在上面的代碼中,我們首先定義了一個加法的函數(shù)addition和一個乘法的函數(shù)multiplication。
然后,添加結(jié)果存儲在全局變量中,并顯示在JavaScript控制臺中。
傳遞給函數(shù)所添加的參數(shù)是5和10,因此控制臺上顯示15。
在上面的代碼中,所有內(nèi)容都作為全局變量存在。
因此,如果全局范圍中存在具有相同名稱的函數(shù)和變量,則會導(dǎo)致沖突。
接下來,我嘗試使用命名空間改進(jìn)上面的代碼。
<html>
<body>
<script>
var MYFUNCTIONS = {
addition: function(num1,num2){
return num1+num2;
},
multiplication: function(num1,num2){
return num1*num2;
}
}
var operation = MYFUNCTIONS.addition(5,10);
console.log(operation)
</script>
</body>
</html>執(zhí)行結(jié)果:15
在上面的代碼中,唯一定義的全局變量是一個大寫的MYFUNCTION變量。
在其中我們定義加法和乘法函數(shù)。
通過這樣做,我們創(chuàng)建了一個名為MYFUNCTION的空間,并在其中包含任意函數(shù)。
要在MYFUNCTION中調(diào)用函數(shù),使用語法:MYFUNCTION.函數(shù)名。
通過編寫MYFUNCTION.addition(5,10)來調(diào)用加法函數(shù)。
結(jié)果與前面的代碼相同。
如何對名稱空間進(jìn)行分層?
最后,我們來介紹一下如何“層次化”命名空間。
這樣會很方便,因為可以通過分層管理更多函數(shù)和變量。
代碼示例如下
<html>
<body>
<script>
var MYAPPLICATION = {
OPERATIONS: {
addition: function(num1,num2){
return num1+num2;
},
multiplication: function(num1,num2){
return num1*num2;
}
},
OTHER: {
show: function(num1,num2){
console.log("Your numbers are " + num1 + " and " + num2);
}
}
}
MYAPPLICATION.OTHER.show(5,10);
</script>
</body>
</html>執(zhí)行結(jié)果:Your numbers are 5 and 10
在上面的代碼中,我們將唯一的全局變量MYAPPLICATION分成多個空間。
在OPERATION空間添加了addition函數(shù)和multiplication函數(shù),在OTHER空間中包含了新的函數(shù)show。
在空間中創(chuàng)建空間使得分層和生成簡潔代碼變得更加容易。
例如,要在OTHER空間中調(diào)用show函數(shù),可以使用外部空間,內(nèi)部空間和函數(shù)名稱等語法。
實際上,如果你編寫MYAPPLICATION.OTHER.show(5,10),將調(diào)用參數(shù)5和10中指定的show函數(shù)。
show函數(shù)將諸如“ Your numbers are參數(shù)1 and參數(shù)2 ”之類的短語輸出到JavaScript控制臺。
因此,結(jié)果顯示為Your numbers are 5 and 10。
以上是“JavaScript命名空間的作用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章名稱:JavaScript命名空間的作用-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.chinadenli.net/article48/deisep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、App開發(fā)、營銷型網(wǎng)站建設(shè)、企業(yè)建站、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(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)
猜你還喜歡下面的內(nèi)容