原创 OSI七層模型與TCP/IP四層模型

TCP/IP四層模型、OSI七層模型 TCP/IP四層網絡模型 TCP/IP網絡模型 對應協議 應用層 DNS、HTTP、FTP、SMTP 傳輸層 TCP、UDP 網絡層 IP、ARP 數據鏈路層/

原创 CDN

CDN的作用和原理? CDN理解 CDN(Content Delivery Network)內容分發網絡。 在用戶和網站間添加一層“緩存”,網站將信息發佈到用戶周圍,用戶可快速訪問網站內容。 解決網絡帶寬小、用戶訪問量大、網站分

原创 前端性能優化

如何做到前端性能優化 減少HTTP請求 合理設置瀏覽器的緩存 合併CSS的圖片(CSS雪碧圖/精靈圖) 優化加載資源 使用CDN優化靜態資源 靜態資源合併壓縮 前端資源打包 使用webpack等打包工具將Js文件、CSS

原创 瀏覽器渲染

瀏覽器渲染 解析HTML代碼,生成DOM樹 每一個html標籤均爲DOM的節點 解析CSS代碼,生成CSS樹 將DOM樹和CSSOM樹合併形成render tree

原创 跨域

同源策略(SOP) 瀏覽器處於安全考慮,只允許相同協議,相同域名,相同端口之間的進程才能發起Ajax請求。 JSONP 填充式JSON 利用<script>沒有同源策略的限制,通過<script>指向要訪問的地址,並提供回調函數來

原创 Webpack的一些問題

談談webpack webpack是一個Js的模塊打包程序。通過入口文件找到每個文件的依賴,使用loaders進行處理,最後得到Js文件。 與glup和grunt的區別在於模塊化(AMD,CommonJ) webpack的核心

原创 關於進程那些事

提高併發量 多進程、多線程、IO多路複用 進程VS線程 根本區別 進程是操作系統資源分配的根本單位 線程是任務調度和執行的基本單位 開銷 進程有獨立代碼和數據空間,切換開銷較大 線程是輕量級進程,共享代碼和數據空間。

原创 Js的的運行機制

Js單線程 瀏覽器腳本語言,用於和用戶互動,操作DOM。 若是多線程將會複雜,一個DOM節點寫入,另一個刪除,將會產生混亂。 Js單線程實現異步 Js異步的原因,防止"卡住" 同步與異步的例子 console.log(1) s

原创 一些Js的手寫

手寫淺拷貝 淺拷貝一般在引用數據類型,複製後一個改變會影響另一個。 使用Object.assign() let a = [1,2,3] let b = Object.assign(a) //[1,2,3] a[0] = 8 a

原创 WebWorker

概述 Js本身單線程執行,對於一部處理使用事件循環,但H5新增WebWorker允許多線程。 Js主線程創建Worker子線程,允許在後臺運行。主線程和worker線程互不影響。對於計算密集型任務交予worker執行,不會阻塞更爲

原创 CSS3新增

新增選擇器 邊框 border-radius 用於添加圓角邊框 border-shadow 邊框陰影 border-image 邊框圖片 背景 background-size 規定背景大小,長/寬 background-or

原创 常見響應式佈局

三欄佈局 流體佈局 左側和右側固定寬度,中間自適應 <div class="container"> <div class="left"></div> <div class="right"></div>

原创 BFC和IFC

BFC BFC概念 Block Formatting Context 塊級格式化上下文,創建一個封閉環境,封閉環境與外界互不影響 內部盒子垂直方向 不與float重疊,BFC高度包括浮動元素 相鄰margin重疊 內部盒子左側接

原创 WebStroage

Cookie cookie簡介 cookie是一個小文本文件,用於客戶端和服務器通信時保存客戶端狀態。 cookie弊端 cookie在不同瀏覽器中數目限制不一樣,IE6以下限制cookie20個,IE7以上和firefox瀏

原创 WebSocket

WebSocket介紹 H5新增,建立一個基於單個TCP的持久化全雙工通訊協議 WebSocket核心 HTTP字段中 Upgrade: websocket Connection: Upgrade WebSocket創建 var