原创 flex兼容ios(iphone6)

開發過程使用flex簡直不要太6,但是如果只是寫新版本的語法形式,是肯定存在兼容性問題的(安卓機基本沒啥問題,主要是ios) 一、問題 flex佈局分爲舊版本dispaly: box;過渡版本dispaly: flex box;以及現在的

原创 javascript如何判斷Object是空對象

判斷一個對象是否爲空對象,本文給出三種判斷方法: 1.最常見的思路,for...in... 遍歷屬性,爲真則爲“非空數組”;否則爲“空數組” for (var i in obj) { // 如果不爲空,則會執行到這一步,返回true

原创 DOM渲染原理

瀏覽器渲染過程 解析HTML,構建DOM樹(這裏遇到外鏈,此時會發起請求) 解析CSS,生成CSS規則樹 合併DOM樹和CSS規則,生成render樹 佈局render樹(Layout/reflow),負責各元素尺寸、位置的計算 繪製re

原创 Vue 插槽 新語法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue 插槽 新語法</title> <style> * { margi

原创 vue之virtual-dom篇

首先理解VNode對象 一個VNode的實例對象包含了以下屬性,參見源碼src/vdom/vnode.js constructor ( tag?: string, data?: VNodeData, childr

原创 Vue CSS動畫原理

v-enter:定義進入過渡的開始狀態。在元素被插入之前生效,在元素被插入之後的下一幀移除。 v-enter-active:定義進入過渡生效時的狀態。在整個進入過渡的階段中應用,在元素被插入之前生效,在過渡/動畫完成之後移除。這個類可以被

原创 Vue 插槽 廢棄語法

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue 插槽 廢棄語法</title> <style> * { marg

原创 vue-router實現原理及兩種模式分析

之前用Vue開發單頁應用,發現不管路由怎麼變化,瀏覽器地址欄總是會有一個'#'號。   當時檢查自己的代碼,沒有發現請求的地址帶'#',當時也很納悶,但是由於沒有影響頁面的渲染以及向後臺發送請求,當時也沒有在意。最近看了一下vue-rou

原创 OSI 七層模型與 TCP IP 五層模型

OSI分層 (7層):物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。 TCP/IP分層(4層):網絡接口層、 網際層、運輸層、 應用層。 五層協議 (5層):物理層、數據鏈路層、網絡層、運輸層、 應用層。 1) 物理層:利

原创 TCP、UDP、HTTP及Socket的簡單講解

1、TCP/IP是個協議組,可分爲三個層次:網絡層、傳輸層和應用層。 在網絡層有IP協議、ICMP協議、ARP協議、RARP協議和BOOTP協議。 在傳輸層中有TCP協議與UDP協議。 在應用層有FTP、HTTP、TELNET、SMTP、

原创 【高性能JS】重繪、重排與瀏覽器優化方法

基礎知識 瀏覽器下載完頁面中的所有組件--HTML標記、JS、CSS、圖片--之後會解析並生成兩個內部數據結構: DOM 樹:表示頁面結構 渲染樹:表示DOM節點如何顯示 網頁生成的過程 HTML被HTML解析器解析成DOM 樹 css被

原创 vue模板編譯(原理篇)

概念 平時使用模板時,可以在模板中使用變量、表達式或者指令等,這些語法在html中是不存在的,那vue中爲什麼可以實現?這就歸功於模板編譯功能。 模板編譯的作用是生成渲染函數,通過執行渲染函數生成最新的vnode,最後根據vnode進行渲

原创 簡述Socket連接的過程

服務器端: 創建socket,綁定端口 開始監聽(listen) 等待並接受客戶端連接請求,返回新的socket(accept) 由新socket與客戶端進行io交互。 關閉連接(可能主動,也可能被動) 客戶端: 創建socket(綁定本

原创 Git,交互式變基,合併多個commit

在使用 Git 作爲版本控制的時候,我們可能會由於各種各樣的原因提交了許多臨時的 commit,而這些 commit 拼接起來纔是完整的任務。那麼我們爲了避免太多的 commit 而造成版本控制的混亂,通常我們推薦將這些 commit 合

原创 sourceTree“重置提交”和“提交回滾”的區別

相信用過sourceTree的夥伴們都認識這兩,但是不一定用過這兩個功能,甚至是不能很好的把握它兩的區別,根據自己最近親身測試,總算是能小小的總結一下了 首先這兒假如,歷史版本已經出現了1、2、3、4、5、6、7、8、9,當前的版本是9