最近面試的知識點?

1.vue 如何實現雙向綁定? data和computed的區別? 生命週期?css

當你把一個普通的 JavaScript 對象傳給 Vue 實例的 data 選項,Vue 將遍歷此對象全部的屬性,並使用 Object.defineProperty 把這些屬性所有轉爲 getter/setter。這些 getter/setter 對用戶來講是不可見的,可是在內部它們讓 Vue 追蹤依賴,在屬性被訪問和修改時通知變化。每一個組件實例都有相應的 watcher 實例對象,它會在組件渲染的過程當中把屬性記錄爲依賴,以後當依賴項的 setter 被調用時,會通知 watcher 從新計算,從而導致它關聯的組件得以更新!vue

1.data屬性的值,不會隨賦值變量的改動而改動。若是要改變這個屬性的值,則須要直接給data屬性賦值,視圖上對這個屬性的顯示纔會變。webpack

2.computed屬性,屬於持續變化跟蹤。在computed屬性定義的時候,這個computed屬性就與給它賦值的變量綁定了。改變這個賦值變量,computed屬性值會隨之改變。es6

生命週期  beforeCreted create  beforeMount  mounted   beforeUpdated  updated  activated  deactivated  beforeDestroy  destroyed  errorCaptured  web

2.vue router link後面加參數?vue-router

const User = {
  props: ['id'],
  template: '<div>User {{ id }}</div>'
}
const router = new VueRouter({
  routes: [
  { path: '/user/:id', component: User, props: true },gulp

// 對於包含命名視圖的路由,你必須分別爲每一個命名視圖添加 `props` 選項
  ]  
})promise

2..object的方法?cookie

Object.assign()  淺拷貝less

object.defineProperty()  直接在一個對象上定義新的屬性或修改現有屬性,並返回該對象。

object.toString()

object.valueof()

3.cookie和localstroage的區別?

4. http get和post的區別?

5.webpack和gerunt的區別?

一、grunt
gulp是工具鏈、構建工具,能夠配合各類插件作js壓縮,css壓縮,less編譯 替代手工實現自動化工做
(1)構建工具
(2)自動化
(3)提升效率用
二、webpack
webpack是文件打包工具,能夠把項目的各類js文、css文件等打包合併成一個或多個文件,主要用於模塊化方案,預編譯模塊的方案
(1)打包工具
(2)模塊化識別
(3)編譯模塊代碼方案用

6.兼容

7.同源策略

8.跨越

9.promise

10.es6的知識點

11 seajs和requirejs區別?

1.RequireJS在主文件裏是將全部的文件同時加載,然而SeaJS強調一個文件一個模塊。
2.AMD推崇依賴前置,CMD推崇依賴就近。

 12 vue-router的原理 是利用h5的history  屬性 hash

13 event loop 是事件循環 

js是一個單線程,全部的任務都須要排隊,任務分爲同步任務和異步任務,同步任務進入主線程 ,作完一件事之後在作下一件事  異步是不進入主線程的,而進入【任務隊列】的任務,只有任務隊列通知主線程,某個異步任務要執行了,主線程纔會執行,主線程從"任務隊列"中讀取事件,這個過程是循環不斷的,因此整個的這種運行機制又稱爲Event Loop

 

14 .宏任務 微任務

先執行宏任務 在執行微任務

宏任務macrotask:
(事件隊列中的每個事件都是一個macrotask)
優先級:主代碼塊 > setImmediate > MessageChannel > setTimeout / setInterval
好比:setImmediate指定的回調函數,老是排在setTimeout前面

微任務包括:優先級:process.nextTick > Promise > MutationObserver

相關文章
相關標籤/搜索