備忘錄

什么是 MVVM、mvc 模型??

MVVM 是通過分離數(shù)據(jù)、視圖和邏輯,使得前端開發(fā)更模塊化、可維護,并提高開發(fā)效率的設計模式。

常用的vue指令,修飾符

vue指令:? v-bind、v-model、v-on、v-if

修飾符:.stop?.once .prevent

vue父子組件的通信

父傳子組件 子組件通過 props 來接收

子傳父通過自定義事件($emit)自定義事件傳遞

數(shù)組的操作

arr.push(4);// 末尾添加,返回新長度

arr.pop();// 刪除末尾,返回被刪元素

arr.unshift(0);// 頭部添加,返回新長度

arr.shift();// 刪除頭部,返回被刪元素

arr.splice(2,1,'a','b');// 從索引2開始刪除1個,插入'a','b'

變量的聲明差異

var?是函數(shù)作用域,且變量提升,可能會導致不易察覺的錯誤。
let?和?const?是塊級作用域,支持更嚴格的變量管理,且不在提升階段初始化。
const?用于聲明常量,不能被重新賦值,而?let?則可以重新賦值。
let?和?const?的塊級作用域特點使它們在閉包和循環(huán)中表現(xiàn)得更加符合預期。

瀏覽器緩存的不同

Cookie 數(shù)據(jù)會隨請求發(fā)送到服務器,而 LocalStorage 僅在瀏覽器端可用
Cookie 大小限制為 4KB,LocalStorage 約 5MB
Cookie 可設置路徑和域名,LocalStorage 僅與當前域名關聯(lián)

vue路由的實現(xiàn)原理

Vue Router 的核心原理是通過定義路由表、監(jiān)聽瀏覽器地址的變化、匹配路由并渲染組件,來實現(xiàn)頁面的切換

v-model的原理

v-model在表單控件上的工作原理可以分為兩個部分:
屬性綁定:使用v-bind指令將Vue實例的數(shù)據(jù)綁定到表單元素的value屬性上。
事件監(jiān)聽:使用v-on指令監(jiān)聽表單元素的input事件,當用戶輸入時,將新的值賦給綁定的數(shù)據(jù)。

vue3 為什么使用proxy

1、defineProperty 局限性,只能針對單例屬性做監(jiān)聽。
2、Vue2 中對data中的屬性,做了遍歷和遞歸,為每個屬性設置了getter和setter
3、這樣就導致VUE只能對data中預定義過的屬性做出響應的原因
4、如果直接添加一個不存在的話,是無法做到setter監(jiān)聽的Proxy 是針對整個對象的,那么對這個對象的所有操作,都會進入監(jiān)聽,就可以代理所5、有的屬性帶來很大的性能提升和代碼優(yōu)化
6、Proxy可以理解成,對源對象做了一層攔截,外界對這個對象的訪問,都必須經過這層攔截,因此提供了一個機制,可以對外界的訪問進行過濾和修改

get和post的區(qū)別

請求參數(shù)長度限制不同,回退和刷新不同、歷史記錄不同

狀態(tài)碼

一、1xx 信息性狀態(tài)碼
二、2xx 成功狀態(tài)碼
三、3xx 重定向狀態(tài)碼
四、4xx 客戶端錯誤狀態(tài)碼
五、5xx 服務器錯誤狀態(tài)碼

前端做的性能優(yōu)化

圖片懶加載 減少 dom操作 減少網絡請求 異步編程 代碼分割 路由懶加載 使用 webp格式

一個html文件到網頁上呈現(xiàn)的過程

當用戶輸入網頁地址的時候,瀏覽器會先查看本地緩存有沒有沒過期的網頁歷史,如果沒有
就會通過本地DNS服務器來解析出IP地址,當域名和服務器的IP地址匹配上,瀏覽器就會嘗試和服務器建立TCP鏈接,瀏覽器先向服務器發(fā)起一個申請連接的包,服務器收到后會回復一個同意包,瀏覽器收到后再回復一個確認的包,此時 TCP 連接就建立成功了。
連接成功后,瀏覽器會像服務器發(fā)起請求,hared,或者get post請求,服務器收到后會給瀏覽器返回一個包,這個包包含了狀態(tài)碼,瀏覽器會根據(jù)狀態(tài)碼來解開,然后渲染div等dome節(jié)點,隨后 再加載css 和js這些文件,最后就呈現(xiàn)出了 用戶看到的網頁。

入一個地址 到瀏覽器 到呈現(xiàn)內容到頁面的過程

1、用戶輸入 URL?
2、 DNS解析
3、建立TCP連接
4、發(fā)送http請求
5、服務器響應
6、瀏覽器開始渲染頁面(接收html 渲染html 解析css 繪制)
7、js執(zhí)行
8、資源加載
9、渲染完成
10、關閉鏈接

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 物理內存虛擬內存的關系、堆棧、 比如工作環(huán)境,薪資待遇,要不要加班,主要工作內容,要用到什么技術,團隊有沒有什么缺...
    nlpjoe閱讀 1,303評論 0 8
  • 一、項目結構介紹 pages.json:配置頁面路由、導航條、選項卡等頁面類信息,詳見。manifest.json...
    移動端_小剛哥閱讀 3,240評論 0 4
  • 我是一名前端愛好者,在學習了JavaScript DOM操作之后,突發(fā)奇想,寫了一個備忘錄,雖然還沒保存以及動畫功...
    LeeYaMaster閱讀 2,058評論 0 10
  • iOS中經常涉及到與H5界面的交互,但是無奈不懂H5,每次交互都需要與前端人員交流;其次就是每次看到H5的代碼總覺...
    橫爬介士閱讀 843評論 0 1
  • iOS中經常涉及到與H5界面的交互,但是無奈不懂H5,每次交互都需要與前端人員交流;其次就是每次看到H5的代碼總覺...
    Sunny_Fight閱讀 477評論 0 1

友情鏈接更多精彩內容