前端面試必備

1.什麼是原型鏈:
實例對象的__proto__屬性指向它的原型對象,構造函數有一個原型屬性prototype與實例的proto屬性指向同一個對象。對象查找屬性的時候,若是自身和原型都沒有,直到Object.prototype.proto_爲nulljavascript

2.實現繼承方案:
(1)原型繼承(經過B.prototype = new A這一句話達成繼承)
(2)call繼承(把父類當作普通函數執行,讓其執行的時候,方法中的this變爲子類的實例便可)
(3)寄生組合繼承(call繼承+變異版的原型繼承共同完成的)
(4)extends繼承(和寄生組合繼承基本相似,並且必須加上super()函數)java

3.閉包理解:
閉包就是訪問另外一個函數做用域中的變量的函數,坑點:this指向windows、容易致使內存泄漏、內存消耗很大windows

4.瀏覽器渲染機制:
(1)解析HTML生成DOM樹,再解析CSS生成CSSOM樹
(2)DOM樹和CSSOM樹結合,生成渲染樹
(3)迴流
(4)重繪
(5)展現頁面瀏覽器

性能優化:減小HTTP的請求次數和大小、資源的合併和壓縮、圖片懶加載、瀏覽器緩存、使用虛擬DOM、減小js修改樣式,多使用CSS3緩存

5.瀏覽器緩存有兩種方式:
(1)、mate標籤 但mate兼容性不靠譜
(2)、header頭 兩種緩存機制: 強緩存 協商緩存安全

6.https原理:
HTTPS是在HTTP上創建SSL加密層,並對傳輸數據進行加密,是HTTP協議的安全版。性能優化

7.xss攻擊:
主要是腳本的執行,用戶操做時插入代碼竊取用戶信息閉包

8.dom事件流:
冒泡型事件、捕獲型事件、事件監聽、javascript三大事件、js事件綁定的方法dom

相關文章
相關標籤/搜索