7月27號下午2點 New 操作符做了什麼: 1. 創建一個新的空對象。 2. 將這個新對象的原型指向構造函數的原型。 3. 將構造函數的this指向這個新對象。 4. 根據構造函數返回類型作判斷,如果是值類型,返回newObj。如果是引用類型,就返回這個引用類型的對象 Vue2 數組push、sh ...
7月27號下午2點
New 操作符做了什麼:
1. 創建一個新的空對象。
2. 將這個新對象的原型指向構造函數的原型。
3. 將構造函數的this指向這個新對象。
4. 根據構造函數返回類型作判斷,如果是值類型,返回newObj。如果是引用類型,就返回這個引用類型的對象
Vue2 數組push、shift的雙向綁定是怎麼實現的:
作者在vue原型上重寫了push()方法,使數組進行操作時可以實現雙向綁定Vue3 的watchEffect 是什麼:
數據監聽,相比watch方法watchEffect會立即執行一次
http和https的區別:
http:
http明文未加密
http預設是埠號80
優點:便宜,不需要解密,更快
缺點:不安全
https:
https = https + ssl
Ssl加密協議 應用層和傳輸層加了一個安全層
需要ca證書
https預設埠號443
優點:安全,
缺點:貴、加密解密需要時間,慢
Tcp三次握手和四次揮手:
三次握手:
第一次:客戶端向服務端發送一個syn包
第二次:服務端收到syn包,向客戶端返回syn+ack包
第三次:客戶端收到後回覆一個ack包
確立連接
四次揮手:
假如客戶端向服務端發起關閉請求,
第一次揮手:他需要向服務端發送一包fin表示自己要關閉連接,然後進入等待狀態1,
第二次揮手:服務端收到fin包,會發一個ack包表示進入等待狀態,
第三次:此時伺服器還能向客戶端發送數據,發送完數據再發送一個fin包
第四次揮手:客戶端收到ack包,進入超時等待狀態,經過超時等待後,關閉連接,服務端收到ack包。立即關閉連接
Web1.x ,web2.0,web3.0:
1.0 可讀,如各新浪等門戶網站,需要有專門的編輯人員發文章上去,只有很少的留言功能
2.0 互動性,可以自己發信息,例如微博,臉書,抖音,小紅書,用戶不僅是平臺的使用者也是內容的貢獻者
3.0 去中心化,2.0時代的自己發送的信息都依托於平臺,信息泄露什麼的,3.0自己的就是自己的,一個賬號走天下
Webpack的loader 有哪些:
1、file-loader:把⽂件輸出到⼀個⽂件夾中,在代碼中通過相對 URL 去引⽤輸出的⽂件。
2、url-loader:和 file-loader 類似,但是能在⽂件很⼩的情況下以 base64 的⽅式把⽂件內容註⼊到代碼中去。
3、source-map-loader:載入額外的 Source Map ⽂件,以⽅便斷點調試。
4、image-loader:載並且壓縮圖⽚⽂件。
5、babel-loader:將ES6轉化為ES5。
6、css-loader:載入 CSS,⽀持模塊化、壓縮、⽂件導⼊等特性。
7、style-loader:把 CSS 代碼註⼊到 JavaScript 中,通過 DOM 操作去載入 CSS。
8、eslint-loader:通過 ESLint 檢查 JavaScript 代碼。
原文鏈接:https://blog.csdn.net/weixin_47450807/article/details/124051856
網站優化:
優化點一:網站速度優化
網站速度優化整體資源優化
減少http請求,資源壓縮,cdn加速,路由、圖片懶載入,預載入等等
首屏優化:懶載入,圖片懶載入,預載入
利用第三方檢測工具,檢測頁面性能,針對具體比較耗時的資源優化
優化點二:seo優化
Ssr服務端渲染,Vue官方介紹的ssr操作起來比較複雜,可以試用Nuxt.js,基於vue的ssr框架,可以方便的創建服務端渲染項目
頁面內容儘量豐富,標簽儘可能語義化,每個頁面最好有<h1></h1><h2></2>這樣的標簽,
7月29日
什麼是閉包:
因為作用域的原因函數外的不能訪問函數內的變數,閉包的作用就是讓函數外也能訪問函數內的變數,閉包通過返回一個引用內部變數的函數來實現
閉包像一個隔離區,可以防止變數污染,封裝公用方法,缺點是會造成記憶體泄露
如何解決閉包記憶體泄露問題:
閉包使用後,將引用閉包的變數賦值為null
常見的記憶體泄露有哪些:
全局變數、閉包、setTimeout等沒有清除的定時器,變數引用的DOM使用後沒有及時清除,沒用清除的時間監聽,console.log的變數
websocket斷網怎麼辦:
- 客戶端向伺服器定時發送一條心跳消息。
- 伺服器在接收到客戶端發送的心跳消息後,立即回覆一條響應消息。
- 客戶端在一定時間內未收到伺服器的響應消息,則認為連接已斷開,需要重新連接。
緩存:
強制緩存:強制緩存在規定時間內緩存存在,就不重新下載
協商緩存:文件沒有被修改過,就不重新下載
盒模型:
w3c盒模型:包括margin、padding、border、content,寬高 = padding + border + content
IE盒模型:包括margin、padding、border、content,寬高 = content