榫卯(sǔn mǎo),是古代中國建築、家具及其它器械的主要結構方式,是在兩個構件上采用凹凸部位相結合的一種連接配接方式。
若榫卯使用得當,兩塊木結構之間就能嚴密扣合,達到“天衣無縫”的程度,并且不用釘子。

下面這張圖來自于山西懸空寺,屋檐下面的那些都是用榫卯做成的,沒有用一顆釘子。
在開發頁面的時候,或多或少的要寫JavaScript,除了些業務邏輯的代碼外。
還有DOM操作,AJAX處理,事件綁定,實用功能,Promises/A+規範實作,樣式、集合、數組、函數、對象、時間、URL、動畫、模版、cookie等各種操作。
這些封裝好的庫使用起來友善相容性好,但是有些時候我僅僅是需要使用裡面的個别方法,例如做活動頁面。
就為了這幾個個别方法而把整個庫都引進來,有種殺雞用牛刀的感覺。
當看到下面那位非洲朋友用聖劍來切牛排,囧,瞬間就能體會那種感覺。
而如果想把裡面的個别方法抽出來,又不能直接用,因為這些方法可能引用了庫中的私有方法屬性等,就好像建築裡的釘子,需要釘子來銜接。
是以這個時候就需要使用自己封裝的函數,就好比榫卯,拿來即可用,而不需要特定的釘子。
要想建構,最友善的還是要參考下現有的庫是如何做的,這樣能少走些彎路。
有些時候也不用一定要自己寫,有相關的類庫就直接收錄進來,要用的時候就不用再到網上去各種搜尋啦!
1)DOM選擇器
這是在平時開發頁面必用的,ES5規範出來後,定義了很多實用的方法,可以不再像以前那樣編寫大量的相容代碼。
這個是針對移動端浏覽器,并且是子產品化的,想參考裡面的3個子產品,event是事件子產品。
2)實用庫
Underscore分為Collection、Array、Function、Object、Utility幾大部分。
Sugar分為Array、String、Number、Date、Object、Function、RegExp、Range幾大部分。
根據他們的分類,兩個庫之間有些地方應該還能互補一下。
3)其他相關的庫
我選擇庫都會選擇小巧、功能比較單一、而且不依賴第三方庫。
源碼看起來也能友善點,抽出代碼的時候也能少費點時間。
這裡隻是做個抛磚引玉,具體怎麼建構可以根據實際情況來操作。
參考資料:
<a href="https://github.com/mominger/blog" target="_blank">Zepto源碼分析</a>
<a href="https://github.com/icepy/Front-End-Develop-Guide" target="_blank">前端開發指南</a>
<a href="https://github.com/sorrycc/awesome-javascript" target="_blank">Awesome JavaScript</a>
本文轉自 咖啡機(K.F.J) 部落格園部落格,原文連結:http://www.cnblogs.com/strick/p/5347551.html,如需轉載請自行聯系原作者