DOM Event 事件流 事件流分為三個階段:事件捕捉樊拓,目標(biāo)觸發(fā),事件冒泡 事件捕捉 注冊事件類型發(fā)生后塘慕,從html到目標(biāo)節(jié)點的父節(jié)點筋夏,會觸發(fā)每一個節(jié)點注冊的捕捉事件图呢。事件...

中介者模式 中介者模式用來接觸對象和對象之間的耦合關(guān)系些椒。假如現(xiàn)在有一堆同父類的對象之間需要相互通信掸刊,每個對象之間都相互通信是一個不好的做法。適合的做法是采用中介者模式忧侧,每個對...
組合模式 職責(zé)鏈模式 組合模式 組合模式將對象組合成樹形結(jié)構(gòu),以表示“部分-整體”的層次結(jié)構(gòu)蚓炬。 在組合模式的樹形結(jié)構(gòu)中,所有的節(jié)點都類似于繼承了一個抽象類一樣肯夏,需要實現(xiàn)同樣名...
發(fā)布訂閱模式 和 觀察者模式 發(fā)布訂閱并不是觀察者模式。但我覺得沒有必要細(xì)究這個……同樣的思路不同的寫法而已烁兰。另外看了這么久耐亏,我還是沒懂訂閱沪斟、發(fā)布广辰、觀察這三個詞是什么意思……...
代理模式 代理模式是為一個對象提供一個代用品或占位符择吊,以便控制對它的訪問。 簡單點講几睛,就是我們被希望直接通過操作A對象的,但是直接操作太復(fù)雜了粤攒,我們希望對A對象的操作少一點枉长,...
策略模式 我認(rèn)為的封裝模式必峰,就是封裝一系列方法;這些方法的共同點就是:輸入輸出相同钻蹬;而我們在不同地條件只是需要簡單地將中間的轉(zhuǎn)換方法(即策略)進行更換吼蚁,就可以達(dá)到不同條件下的...
單例模式 單例(Singleton)模式的作用讓某一個類始終只擁有一個實例肝匆,即每次通過構(gòu)造函數(shù)構(gòu)造的對象始終是同一個。 單例模式的實現(xiàn) 實例掛載構(gòu)造函數(shù) 優(yōu)點:實現(xiàn)簡單缺點:...
JavaScript函數(shù)式編程 函數(shù)式編程的基礎(chǔ)是一等函數(shù)(函數(shù)在js中作為一等公民)旗国、作用域(詞法作用域注整,動態(tài)作用域)和閉包能曾。函數(shù)式編程的第一個概念是高等函數(shù):高等函數(shù)將函...
chain Underscore支持鏈?zhǔn)秸{(diào)用肿轨;不過要求函數(shù)鏈的開頭要用chain函數(shù)生成封裝對象〗放郏看看chain到底做了啥驼唱。 chain生成了返回了一個underscore實...
throttle(func, wait, options) 節(jié)流函數(shù)玫恳,返回一個函數(shù)的節(jié)流版本辨赐;所謂節(jié)流版本,就是給需要執(zhí)行的函數(shù)一個執(zhí)行間隔:每隔waitms才執(zhí)行一次fun...
shuffle Fisher-Yates shuffle;官方寫了shuffle使用這種算法在進行隨機亂序臂港。 不過說真的,我沒看懂源碼是怎么實現(xiàn)的视搏;盡管我看懂了Fisher-...
bind函數(shù) 參考:JavaScript深入之bind的模擬實現(xiàn) bind(function, object, *arguments):綁定函數(shù) function 到對象 o...
flatten flatten是用來實現(xiàn)數(shù)組扁平化的佑力,并加入了shallow函數(shù)strict來表示是否只將數(shù)組進行一次扁平化和是否對參數(shù)有嚴(yán)格要求。 然而我覺得官方的實現(xiàn)在效...