原创 創建型設計模式-封裝和對象(工廠模式,建造者模式,單例模式)
要點: 定義變量不會污染外部 能夠作爲一個模塊調用 遵循開閉原則 什麼是好的封裝: 變量外部不可見 調用接口使用 留出擴展接口 封裝對象時的設計模式 工廠模式 目的:方便我們大量創建對象(大量多個) 應用場景:當某一個對象
原创 理解JavaScript、node.js中的發佈和訂閱模式以及運用
一:JavaScript中的發佈訂閱 首先我們有這麼一個需求 function ajax(url, callback) { // 實現省略 } ajax("./test1.json", function(data) {
原创 vue的自動化路由+分模塊管理+路由懶加載
近期單獨做了一個系統項目,項目不大但是頁面太多了,爲了後期維護管理容易,做了個自動化加載路由以及模塊化的管理。在此記錄一下。 直接擼代碼 1.首先看目錄 router下的index.js是路由配置文件。 views下每個目錄爲一個模塊,
原创 關於iview中Menu 導航菜單 循環嵌套 多級嵌套
介紹: 菜單通過後端接口請求數據來進行渲染 達到圖中所示例的效果(ps:圖中僅展示二級菜單,可根據需求三級四級) 開始擼代碼。 這是官方的菜單代碼。 <Menu :theme="theme2">
原创 vuex模塊化懶加載 vuex模塊化 懶加載 vuex按需加載
項目的github地址(源碼) 說明 這是一個解決大型項目中,vuex數據臃腫龐大導致的性能問題。對vuex進行模塊化並執行懶加載模式 文件目錄說明 |--src |--|--assets 樣式文件 |--|
原创 【前端小白】Event Loop理解 異步 JavaScript Node.JS
首先,event loop是一個執行模型,在瀏覽器中和node.js中實現不一樣。 瀏覽器中,Eventloop是基於html5標準,而node.js是基於libux。 一:先看看瀏覽器端的 1.有宏任務與微任務 宏任務 macrotas
原创 【算法從入門到放棄】深入理解學習 最長公共子序列
在前端組件框架裏面,很常見的dom處理就是將一個dom樹切換爲另外一個dom樹,現代的mvvm框架基本都是在dom樹的每一層上去做diff的。簡化的來看就是要以最小的開銷從 "abcde" 切換到 "ace"。 首先,我們瞭解一下基本概念
原创 提高代碼質量的設計模式(策略模式和狀態模式;外觀模式;迭代器模式;備忘錄模式;)
高質量代碼,方便後續的一切操作;方便他人閱讀 什麼是代碼質量 代碼整潔 結構規整,沒有漫長的結構 閱讀好理解 策略模式和狀態模式 行爲型 目的:優化if-else分支, 場景:當if-else分支過多時, 一:基本結構 策略模式
原创 可擴展型的設計模式(適配器模式-結構性;裝飾者模式-結構性;命令模式-行爲型;觀察者模式-行爲型;職責鏈模式-行爲型;訪問者模式-技巧型。)
什麼是好的可擴展性 需求發生變更時不需要重新改舊代碼 代碼修改不會引起大規模變動 方便加入新模塊 低耦合 適配器模式 ps:結構性 (接口) 目的:通過寫一個適配器,來代替替換 應用場景:面臨接口不通用的問題 一:基本結構 用l
原创 結構型設計模式-提高可複用性(橋接模式、享元模式、模板方法模式)
複用性要點: 對象可以再重複使用,不用修改 重複代碼少 模塊功能單一 橋接模式 目的:通過橋接代替耦合, 應用場景:減少模塊之間的耦合, 一:基本結構 // 有三種形狀,每種形狀都有三種顏色 // 把顏色方法抽離出來 三種形狀
原创 Vue2.0的響應式原理+異步更新隊列的實現
Vue 2.0 Object.defineProperty Vue 2.0中 使用Object.defineProperty來將Data中的屬性都遍歷一遍,轉換爲getter和setter getter爲依賴收集 當變量修改時,可能涉
原创 創建型設計模式-封裝和對象
要點: 定義變量不會污染外部 能夠作爲一個模塊調用 遵循開閉原則 什麼是好的封裝: 變量外部不可見 調用接口使用 流出擴展接口 A.封裝對象時的設計模式 1.工廠模式 目的:方便我們大量
原创 vue的自動化路由+分模塊管理
近期單獨做了一個系統項目,項目不大但是頁面太多了,爲了後期維護管理容易,做了個自動化加載路由以及模塊化的管理。在此記錄一下。 直接擼代碼 1.首先看目錄 router下的index.js是路由配置文件。 views下每個目錄爲一個模塊,
原创 (菜鳥理解)複合函數compose
compose函數指的是,將需要嵌套執行的函數平鋪。而嵌套執行指的是,一個函數的返回值將作爲另一個函數的參數。 而compose函數的作用是,實現函數編程中的Pointfree,使我們專注於轉換而不是數據。 let add = x
原创 【算法】最長公共子序列
在前端組件框架裏面,很常見的dom處理就是將一個dom樹切換爲另外一個dom樹,現代的mvvm框架基本都是在dom樹的每一層上去做diff的。簡化的來看就是要以最小的開銷從 "abcde" 切換到 "ace"。 首先,我們瞭解一下基本概念