現(xiàn)代 javscript 編程 資料第4/6頁
為分發(fā)而進行的封裝
開發(fā)現(xiàn)代的專業(yè)JavaScript代碼的最后一個方面是為了代碼分發(fā)或在現(xiàn)實世界里中使用而進行的封裝處理。隨著開始開發(fā)者們在其頁面中使用越來越多的JavaScript代碼,沖突的可能性將會增加。如果兩個JavaScript庫里都有一個名為data的變量或者按各的意圖添加事件,災難性的沖突和莫名其妙的錯誤可能就會出現(xiàn)。
開發(fā)者簡單地置入<script>指針無須任何變動就能正常工作的能力是開發(fā)一個成功的JavaScript庫的精詣所在。開發(fā)者用以保持代碼清潔和普遍兼容的的技術或解決方案有許多種。
使用命名空間是廣泛使用的保證代碼不與其它JavaScript代碼互相影響和抵觸的一種技術。這方面一個極端的(但未必是最好或最有用的)運作中的例子就是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';
});
然而,這種命名空間方法存在一個問題,即庫與庫之間在構造和使用的方式上缺乏內(nèi)在的一致性。正是在這一點上,中心代碼倉庫如JSAN(JavaScript Archive Network)變得非常有用。JSAN提供一套代碼庫需遵從的一致規(guī)則,以及一種快捷導入代碼所依賴的其它庫的方式。圖1-2展示了JSAN的主分發(fā)中心的一個截屏。
我將在第三章闡述開發(fā)清潔的可封裝代碼的細節(jié)。此外,其它常見的事故多發(fā)點如事件處理沖突,將在第六章論述。
相關文章
使用requestAnimationFrame實現(xiàn)js動畫性能好
requestAnimationFrame優(yōu)于setTimeout/setInterval的地方在于它是由瀏覽器專門為動畫提供的API,在運行時瀏覽器會自動優(yōu)化方法的調(diào)用,并且如果頁面不是激活狀態(tài)下的話,動畫會自動暫停,有效節(jié)省了CPU開銷,這篇文章給大家詳細介紹使用requestAnimationFrame實現(xiàn)js動畫2015-08-08javascript實現(xiàn)的textarea運行框效果代碼 不用指定id批量指定
今天在寫一個網(wǎng)頁的時候用到了N多嵌套在textarea標簽里的代碼,定義雙擊運行其內(nèi)的代碼段。但是每次創(chuàng)建一個這樣的可運行的實例都要給textarea元素自定義一個id值和寫入雙擊事件,好不麻煩。2009-12-12js中的document.querySelector()方法舉例詳解
這篇文章主要給大家介紹了關于js中document.querySelector()方法的相關資料,document.querySelector是JavaScript中的一個內(nèi)置方法,用于通過CSS選擇器選擇文檔中的第一個匹配元素,需要的朋友可以參考下2024-01-01js jquery 獲取某一元素到瀏覽器頂端的距離實現(xiàn)方法
今天小編就為大家分享一篇js jquery 獲取某一元素到瀏覽器頂端的距離實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09