原创 常見狀態碼

301:資源被永久轉移到其他url 200:請求成功 404:不存在 500:內部服務器錯誤 503:服務器超時

原创 計算機網絡協議層次劃分

網絡協議是計算機網絡中進行數據交換而建立的規則,將所有的層次的協議集合起來就是協議棧 TCP/IP:應用層–>傳輸層–>網絡層–>網絡接口層 TCP/IP5:應用層–>傳輸層–>網絡層–>{數據鏈路層–>物理層} OSI:{應用層

原创 從輸入url到頁面展示發生了什麼

1,輸入地址 2.瀏覽器查找域名ip地址 3.瀏覽器向web服務器發送一個HTTP請求, 拿到IP後,瀏覽器以一個隨機端口向服務器的web程序80端口發起TCP鏈接請求 建立TCP鏈接後發起http請求一個http request

原创 nextTick用法與vue常用基礎指令

一,nextTick用法 當操作數據發生改變,並不會立即執行更新dom操作,而是等事件所有數據都改變才執行操作, 故更新一個數據後立即對該數據綁定dom操作可能得不到想要的結果 故使用nextTick解決這種問題 例 //修改數據

原创 防抖與節流

防抖與節流 防抖(用於表單提交) 某函數在一秒後執行,若在幾秒內又有事件被觸發了,則重新開始計時 function debounce(fn,wait){ let timer=null; return function(){ If(

原创 MVVM

MVVM Model 指數據部分,js view 試圖部分 dom viewmodel :連接視圖與數據部分的中間件通訊 view與model不能直接通信,通過viewmodel實現雙向通信

原创 跨域

跨域指從一個域名網頁去請求另一個域名的資源 限制跨域訪問原因 1.安全 例如:用戶訪問網站A,cookie放在瀏覽器中,用戶訪問網站B,網站B獲取網站A的cookie 對網站A發起訪問。 爲什麼要跨域 可以實現同一個團體內,不同子

原创 數據雙向綁定與虛擬dom原理

一,數據雙向綁定 view的變化反映到ViewModel,ViewModel變化同步反映到view上 原理: vue數據雙向綁定是通過數據劫持,結合發佈者-訂閱者模式方式實現的 二,虛擬DOM原理 虛擬dom是爲了解決DOM操作過

原创 web socket

使用js建立與遠程服務器連接,從而允許遠程服務器將數據推送給瀏覽器,websocket使用基於TCP的socket鏈接,使用websocket後,服務器端與瀏覽器建立一個socket鏈接,可以進行一個雙向數據傳輸 send();向

原创 CDN

CDN又叫內容分發網絡,即讓每個地區訪問更近一點的網絡結點,此節點爲CDN節點 1.若cdn節點上沒有想要的數據,那麼該節點就會從dns源站上獲取數據,然後在該節點上保存數據緩存。 2.若該地區有多個cdn節點,則按負載來判斷訪問

原创 let與const

let 1.let聲明的變量沒有變量提升 2.let不允許重複聲明 3.let聲明變量不會給全局對象window增加屬性; const 1,const聲明變量必須賦值 2,const聲明變量不屑修改 3,let的特點const都有

原创 事件模型

事件委託 將子元素事件通過冒泡形式交由元素執行 例 <ul id="pu"> <li>1</li> <li>1</li> <li>1</li> </ul> var ul=document.getElementById('pu');

原创 設計模式之單例模式

保證一個類僅有一個實例,並提供一個訪問他的全局訪問點 1.實例單例模式 用一個變量來標誌,當前是否已經爲某個類創建過對象,若是,則在下一次獲取該類時,直接返回之前的創建對象 例 var A = { XX: "123",

原创 扁平化數組

多維數組===》一維數組 法一:遞歸 var arr=[1,[2,3,[4]]]; function flatten(arr) var res=[]; for(var i=0;i<arr.length,i++){ if(Array

原创 eventloop

進程與線程 一,Javascript爲單線程 任務隊列 單線程使得所有任務需要排隊,前一個任務結束,纔會執行後一個任務,若前一個任務不結束,後一個任務就需等待; 任務分爲同步任務與異步任務 1 同步任務: 在單線程上排隊執行任務只