現(xiàn)代 javscript 編程 資料第4/6頁
為分發(fā)而進(jìn)行的封裝
開發(fā)現(xiàn)代的專業(yè)JavaScript代碼的最后一個方面是為了代碼分發(fā)或在現(xiàn)實世界里中使用而進(jìn)行的封裝處理。隨著開始開發(fā)者們在其頁面中使用越來越多的JavaScript代碼,沖突的可能性將會增加。如果兩個JavaScript庫里都有一個名為data的變量或者按各的意圖添加事件,災(zāi)難性的沖突和莫名其妙的錯誤可能就會出現(xiàn)。
開發(fā)者簡單地置入<script>指針無須任何變動就能正常工作的能力是開發(fā)一個成功的JavaScript庫的精詣所在。開發(fā)者用以保持代碼清潔和普遍兼容的的技術(shù)或解決方案有許多種。
使用命名空間是廣泛使用的保證代碼不與其它JavaScript代碼互相影響和抵觸的一種技術(shù)。這方面一個極端的(但未必是最好或最有用的)運(yùn)作中的例子就是Yahoo開發(fā)的任何人都可使用的用戶界面庫。使用該庫的一個示例見程序1-3.
程序1-3. 使用重度名稱空間化的YahooUI庫給一個元素添加事件
//給ID為"body"的元素添加mouseover事件監(jiān)聽器
YAHOO.util.Event.addListener('body','mouseover',function(){
//and change the background color of the element to red
this.style.backgroundColor = 'red';
});
然而,這種命名空間方法存在一個問題,即庫與庫之間在構(gòu)造和使用的方式上缺乏內(nèi)在的一致性。正是在這一點上,中心代碼倉庫如JSAN(JavaScript Archive Network)變得非常有用。JSAN提供一套代碼庫需遵從的一致規(guī)則,以及一種快捷導(dǎo)入代碼所依賴的其它庫的方式。圖1-2展示了JSAN的主分發(fā)中心的一個截屏。
我將在第三章闡述開發(fā)清潔的可封裝代碼的細(xì)節(jié)。此外,其它常見的事故多發(fā)點如事件處理沖突,將在第六章論述。
相關(guān)文章
Ajax異步文件上傳與NodeJS express服務(wù)端處理
本文主要介紹了Ajax異步文件上傳與NodeJS express服務(wù)端處理的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧2017-04-04
JS實現(xiàn)移動端可折疊導(dǎo)航菜單(現(xiàn)代都市風(fēng))
這篇文章主要介紹了JS如何實現(xiàn)移動端可折疊導(dǎo)航菜單,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
很不錯的兩款Bootstrap Icon圖標(biāo)選擇組件
這篇文章主要介紹了不容錯過的兩款Bootstrap Icon圖標(biāo)選擇組件,支持自定義的圖標(biāo),拿出來分享下,絕對的干貨,感興趣的小伙伴們可以參考一下2016-01-01
詳解將微信小程序接口Promise化并使用async函數(shù)
這篇文章主要介紹了詳解將微信小程序接口Promise化并使用async函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
RGB顏色值轉(zhuǎn)HTML十六進(jìn)制(HEX)代碼的JS函數(shù)
轉(zhuǎn)到固定長度的十六進(jìn)制字符串,不夠則補(bǔ)0 javascript找出一個背景色的數(shù)值,只好自己解析2009-04-04


圖1-2. 公共代碼倉庫JSAN的截屏