Web前端面試 01

2021-10-25 01:18:22 字數 2078 閱讀 3022

①所有引用型別(函式,陣列,物件)都擁有__proto__屬性(隱式原型)

②所有函式擁有prototype屬性(顯式原型)(僅限函式)

③原型物件:擁有prototype屬性的物件,在定義函式時就被建立

1.例項的隱式原型指向它建構函式的顯式原型

2查詢屬性,如果本身沒有,則會去__proto__中查詢,也就是建構函式的顯式原型中查詢。

如果建構函式中也沒有該屬性,因為建構函式也是物件,也有__proto__,那麼會去它的顯式原型中查詢,一直到null,如果沒有則返回undefined

內部函式訪問外部函式中的變數,這個變數始終儲存在記憶體中,不會隨著函式的結束而自動銷毀。

1.匿名自執行函式

2.快取

3.實現封裝

4.實現物件導向

ps:匿名函式:1.實現閉包

2.模擬塊級作用域,減少全域性變數,降低命名衝突

1.跨域:協議名(http/https),網域名稱,埠號有乙個不同源就是跨域

2.拒絕跨域原因:①跨域可以請求的話,很多伺服器會遭受額外攻擊

②可以在別人的**裡攻擊其他伺服器

③瀏覽器是客戶端,會導致伺服器流量過大

3.方法:①jsonp跨域(只有get請求)

②cors設定請求頭

③document.domain

④postmessage

堆:引用型別的值

深拷貝:json.parse(json.stringify)

1.全域性環境下,this指向window

2.物件呼叫函式時,this指向當前物件

3.建構函式中,如果返回物件,this指向這個物件,否則指向函式例項

- dns網域名稱解析(網域名稱還原為ip位址)

- tcp連線

- http請求

- 處理請求返回http響應

- 頁面渲染

- 關閉連線

1.methods呼叫函式加()

2.computed如果相關依賴不發生改變,就會一直沿用第一次的值

3.methods是實時的,在重新渲染時函式會重新呼叫執行

本質:是通過資料劫持結合發布者-訂閱者模式的方式來實現的。

資料劫持:object.defineproperty用set,get方法實現重寫

發布者-訂閱者模式:

1.實現乙個***observer,用來劫持並監聽所有屬性,如果有變動的,就通知訂閱者。

2.實現乙個訂閱者watcher,可以收到屬性的變化通知並執行相應的函式,從而更新檢視。

3.實現乙個解析器compile,可以掃瞄和解析每個節點的相關指令,並根據初始化模板資料以及初始化相應的訂閱器。

mvvm 是 model-view-viewmodel 的縮寫。

model代表資料模型,也可以在model中定義資料修改和操作的業務邏輯。

view 代表ui 元件,它負責將資料模型轉化成ui 展現出來。

viewmodel 監聽模型資料的改變和控制檢視行為、處理使用者互動,簡單理解就是乙個同步view 和 model的物件,連線model和view。

在mvvm架構下,view 和 model 之間並沒有直接的聯絡,而是通過viewmodel進行互動,model 和 viewmodel 之間的互動是雙向的, 因此view 資料的變化會同步到model中,而model 資料的變化也會立即反應到view 上。

viewmodel 通過雙向資料繫結把 view 層和 model 層連線了起來,而view 和 model 之間的同步工作完全是自動的,無需人為干涉,因此開發者只需關注業務邏輯,不需要手動操作dom, 不需要關注資料狀態的同步問題,複雜的資料狀態維護完全由 mvvm 來統一管理。

web前端面試總結

因為最近在找工作,所以避免不了的就是面試,關於面試的話,其實不僅僅只是知道做面試題這麼簡單,因為我們要從公司的角度考慮問題。其實初級的程式設計師是最好塑造的,我的建議是不管你的薪水有多低,一定要以學習新知識為己任,多去嘗試不同方法,去適應不同的環境,做人做事都應該有乙個全新的認識。因為畢竟是工作,所...

web前端面試總結

1 meta中的reffer 2 img中的src無法載入 1 盒模型 負邊距布局 四個子元素的寬度加上三列間隔的寬度 聖杯布局 雙飛翼布局,元素雖然在後面,但是可以通過負邊距顯示在前面 負邊距絕對定位居中 2 webkit text size adjust 3 文字截斷處理 4 flex布局 5 ...

web前端面試(1)

1 https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。2 http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議。3 http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。4 http的連線很簡單,是無狀態的 h...