js-----2

box-sizing

box-sizing: content-box; //標準盒模型
box-sizing: border-box;  //ie盒模型

NaN typeof 是什麼 null undifined

NaN結果是number,null結果是object,函數結果是function。前端

intanceof如何使用

es6和es5的實現繼承的區別,例如es6用class

ES5的繼承實質上是先建立子類的實例對象,而後再將父類的方法添加到this上。
es6經過class定義類,類經過extends關鍵字實現繼承,子類必須在constructor方法中調用super方法。es6

Es6中class關鍵字如何定義私有屬性

使用get和set實現。ajax

Generator

最⼤的特色就是能夠控制函數的執⾏。
特色:
Generator 函數神奇之一:g()並不執行g函數
g()並不會執行g函數,返回的也不是函數運行結果,而是一個指向內部狀態的指針對象,也就是迭代器對象(Iterator Object)。
分段執行
yield:函數體內部使用yield語句,定義不一樣的內部狀態,控制產出。promise

閉包的經常使用場景

  • setTimeout
  • 封裝某些功能的時候

js幾種實現包裝的方法

如何優化DOM操做

減小dom的操做次數
選擇dom節點時儘量使用querySelector(),querySelectorAll()緩存

爲何要重寫promise的then方法?

每次調⽤ then 以後返回的都是⼀個 Promise,而且是⼀個全新的 Promise,緣由也是由於狀態不可變。安全

promise的then的第二個參數和catch的區別

promise裏面接收一個參數,參數是函數。這個函數裏面傳入兩個參數:resolve和reject,resolve是異步操做執行成功的回調函數,reject是異步操做執行失敗的回調函數,resolve是將Promise的狀態置爲fullfiledreject是將Promise的狀態置爲rejected
then方法是一個鏈式操做,用來分別指定成功和失敗的回調函數,then方法能夠接受兩個參數,第一個對應resolve狀態的回調,第二個對應reject狀態的回調。Promise對象除了then方法,還有一個catch方法,用於指定發生錯誤時的回調函數,其實它和then的第二個參數同樣,用來指定reject的回調。
區別:then 的第一個函數出錯了,後面的catch能夠捕獲,寫到then的第二個函數則捕獲不到。數據結構

若是我直接在代碼裏寫個a,會報什麼錯?

a is not defined。閉包

Webpack用到哪些? loader plugin的區別 用過什麼plugin treeshaking是什麼

如何添加header頭

addHeader(name, value);dom

前端安全 XSS / CSRF 及 如何防範

event loop?

不一樣的任務源會被分配到不一樣的 Task 隊列中,任務源能夠分爲 微任務(microtask) 和 宏任務(macrotask)。在 ES6 規範中,microtask 稱爲 jobs,macrotask 稱爲 task。
Event Loop 執⾏順序以下所示:異步

  1. ⾸先執⾏同步代碼,這屬於宏任務
  2. 當執⾏完全部同步代碼後,執⾏棧爲空,查詢是否有異步代碼須要執⾏
  3. 執⾏全部微任務
  4. 當執⾏完全部微任務後,若有必要會渲染⻚⾯
  5. 而後開始下⼀輪Event Loop,執⾏宏任務中的異步代碼,也就是setTimeout中的回函數.

宏任務的優先級高於微任務。
宏任務:setTimeout、setInterval、setImmediate、requestAnimationFrame。
微任務:Promise.then catch finally、process.nextTick

Ajax 發起的整個流程說一下?從代碼級別講起

fetch和ajax的區別

變量提高講一下?和函數提高相比哪一個優先級高

函數提高的優先級更高。

DNS 如何查找?你說一下DNS緩存是怎麼優化的?DNS如何查詢域名的

DNS是用來作域名解析的,當你上網輸入網址後,把它轉換成IP。

CDN 瞭解嗎?CDN是怎麼實現優化的

一個頁面白屏,分析緣由

打開控制檯看報錯,多是資源加載失敗,或者請求異常。

數據結構鏈表

相關文章
相關標籤/搜索