原创 react diff

傳統diff 通過循環遞歸對節點的依次對比,複雜度是O(n3) react diff react對傳統diff進行了優化,將複雜度降爲O(n) react基於這幾個前提對diff進行了優化: 忽略跨層級操作,因爲DOM節點跨層級操

原创 redux的理解

Redux 這裏介紹下我對Redux的理解,不涉及如何使用Redux。 Redux 官網介紹: A predictable state container for JavaScript apps.(一個可預測的狀態容器for js 應用

原创 跨域的三種解決方案

跨域 什麼是跨域 瀏覽器爲了安全問題,增加的同源限制,其實請求是發出了,服務器也相應了,但是被瀏覽器劫持了。所謂同源是指,域名,協議,端口均相同,瀏覽器纔會覺得符合要求,不限制你。。。 跨域解決辦法有哪些? 好多,這裏只介紹JSONP,

原创 HTTP緩存字段總結

首部 通用首部:有些首部提供了與報文相關的最基本的信息,它們被稱爲通用首部。 請求首部:請求首部是隻在請求報文中有意義的首部。 響應首部 實體首部: 用來描述HTTP報文的負荷,由於請求和響應報文中都可能包含實 體部分,所以在這兩種類型的

原创 src屬性與瀏覽器渲染

img標籤 只要設置了src屬性, 就會開始下載,因此可以使用這個特性,配合display:none,默默的下載一些圖片,用的時候直接用,快了那麼一丟丟~ 注意:不一定要添加到文檔後纔會開始下載,是隻要一設置src屬性就會下載:觀察下面

原创 ES6之promise原理

一級標題

原创 http header Content-Type之常用三種

Content-Type 用於指示資源的MIME類型 在響應頭中,告訴客戶端實際返回內容的類型 在請求頭中,告訴服務器實際發送的數據類型 句法: Content-Type: text/html; charset=utf-8 Cont

原创 用css實現正方形div

目標:實現一個正方形,這個正方形邊長等於 方法一:使用單位vw, (ps我覺得這個是最簡單的方法) html結構也很簡單,只有一個div即可 <html> <body> <div class="square"> </d

原创 js判斷數據類型

1: typeof 返回數據類型,包含這7種: number、boolean、symbol、string、object、undefined、function。 typeof null   返回類型錯誤,返回object 引用類型,除了fun

原创 瀏覽器渲染頁面流程

瀏覽器步驟: 解析HTML文本,構建dom tree 歇息CSS樣式表,構建CSSOM tree 根據DOM tree和 CSSOM tree 構建Render tree 根據Render tree來進行佈局處理(Layout) 將頁面元

原创 react中PureComponent淺對比策略

PureComponent實現了Component中沒有實現的shouComponentUpdata()方法,會對state和props進行一次淺對比,本文介紹一下淺對比策略 源碼中,實現淺對比的函數是:shallowEqual(),源碼:

原创 雙飛翼佈局

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>雙飛翼</title> </head> <style> *{

原创 單行截斷和多行截斷問題

單行截斷: span { display: inline-block; // 如果不是block元素,還需要設置這個。 width: 150px; // 超出的寬度 overflow: hidden; // 超出隱藏

原创 flex 佈局實現固定頭部和底部,中間滾動佈局

關鍵詞:display: flex,flex: 1,  overflow-y: scroll; 實現:head 和footer 固定,中間body多了滾動,少了撐滿; head和footer寬度根據內容撐起,當然你可以自己設置.......

原创 defer 和 async 區別

defer saync 共同點: script 標籤屬性, 控制腳本加載時間,解決script下載阻塞的問題。 區別: defer:推推推薦! 異步加載,所有元素解析完執行。 async: 異步加載,加載完立馬執行。適用於 不依賴任何腳本或