原创 JavaScript設計模式精華摘抄(持續更新...)

1.面向對象設計鼓勵將行爲分佈到細粒度的對象之中,如果一個對象承擔的職責過多,等於把這些職責耦合到了一起 2.靜態語言在編譯的時候就已經確定了變量的類型,而動態語言的變量類型是要到了運行時待變量被賦予某個值之後,纔會有變量類型 3.鴨子類型

原创 2019前端工程師自檢清單與思考

2019前端工程師自檢清單 對於JavaScript,掌握其語法和特性是最基本的,但是這些只是應用能力,最終仍舊考量仍然是計算機體系的理論知識,所以數據結構,算法,軟件工程,設計模式等基礎知識對前端工程師同樣重要,這些知識的理解程度,可以決

原创 【node不完全指西】EventEmitter (事件發佈/訂閱模式)解析

從node異步編程解決方案說起吧: 事件發佈/訂閱模式 Promise/deferred模式 流程控制庫 事件發佈/訂閱模式 事件監聽器模式是一種廣泛運用於異步編程的模式,是回調函數的事件話,又稱發佈/訂閱模式。 主要實現的幾個功能包括

原创 【前端進階基礎】VUE響應式數據原理 訂閱-發佈模式解析

vue框架的兩個抽象核心:虛擬DOM和相應式數據原理 關於虛擬DOM的核心算法,我們上一章已經基本解析過了,詳細的見React && VUE Virtual Dom的Diff算法統一之路 snabbdom.js解讀 關於響應式數據原理,我們

原创 React && VUE Virtual Dom的Diff算法統一之路 snabbdom.js解讀

VirtualDOM是react在組件化開發場景下,針對DOM重排重繪性能瓶頸作出的重要優化方案,而他最具價值的核心功能是如何識別並保存新舊節點數據結構之間差異的方法,也即是diff算法。毫無疑問的是diff算法的複雜度與效率是決定Virt

原创 【算法解析LeetCode by Javascript】23. 合併K個排序鏈表

合併K個排序鏈表 合併 k 個排序鏈表,返回合併後的排序鏈表。請分析和描述算法的複雜度。 示例: 輸入: [ 1->4->5, 1->3->4, 2->6 ] 輸出: 1->1->2->3->4->4->5->6 1.暴

原创 【解析LeetCode by Javascript】213. 打家劫舍 II

題目描述 你是一個專業的小偷,計劃偷竊沿街的房屋,每間房內都藏有一定的現金。這個地方所有的房屋都圍成一圈,這意味着第一個房屋和最後一個房屋是緊挨着的。同時,相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自

原创 【前端基礎進階】瀏覽器的緩存機制

一、前言 緩存可以說是性能優化中簡單高效的一種優化方式了。一個優秀的緩存策略可以縮短網頁請求資源的距離,減少延遲,並且由於緩存文件可以重複利用,還可以減少帶寬,降低網絡負荷。對於一個數據請求來說,可以分爲發起網絡請求、後端處理、瀏覽器響應三

原创 【前端基礎進階】JS原型、原型鏈、對象詳解

一. 普通對象與函數對象 JavaScript 中,萬物皆對象!但對象也是有區別的。分爲普通對象和函數對象,Object 、Function 是 JS 自帶的函數對象。下面舉例說明 var o1 = {}; var o2 =new Obj

原创 H5小遊戲 【篇一】 組詞遊戲

H5小遊戲 篇一 組詞遊戲 項目功能簡介 詞庫功能,項目文件裏配有csv格式的中文常用詞組詞庫,每次隨機抽取詞語進行遊戲 匹配消除功能,自動在詞庫中匹配選中詞語並進行消除 選中動畫以及消除動畫,均由svg生成爆炸動畫 智能提醒系統,10秒

原创 【前端基礎進階】JS-Object 功能詳解

Object.assign(target,source1,source2,...) 該方法主要用於對象的合併,將源對象source的所有可枚舉屬性合併到目標對象target上,此方法只拷貝源對象的自身屬性,不拷貝繼承的屬性。Object.

原创 鏈家網前端總架構師楊永林:我的8年架構師成長之路

楊永林,人稱“教主”,八年前端開發經驗,原新浪微博前端技術專家,現任鏈家網前端總架構師。長期研究Web訪問性能優化和前端框架搭建。作爲初始團隊成員,教主參與了新浪微博所有PC版本的開發,其中4~6版以架構師的身份設計了微博PC版的前端架構。

原创 【收藏乾貨】axios配置大全

一、安裝 1、 利用npm安裝npm install axios --save 2、 利用bower安裝bower install axios --save 3、 直接利用cdn引入<script src="https://unpkg.co

原创 對一道【脈脈】上 頭條 算法面試題的思考

偶然間在脈脈上看到了一道頭條的算法面試題 按照題目的理解,簡單的寫了一個html網頁 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equi

原创 【你該懂一點Javascript算法系列】之【圖類】的定義及深度優先與廣度優先搜索算法

圖github直達地址 https://github.com/fanshyiis/... 在計算機科學中,一個圖就是一些頂點的集合,這些頂點通過一系列邊結對(連接)。頂點用圓圈表示,邊就是這些圓圈之間的連線。頂點之間通過邊連接。 注意:頂點