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