一、mvvm的理解
model-view-viewmodel
model: 數據模型層
view: 視圖層,即顯示的頁面
viewmodel: 視圖模型層,model和view之間的橋樑
model和view之間不產生之間交互,通過viewmodel進行數據交互。它有兩個方向:一是將【模型】轉化成【視圖】,即將後端傳遞的數據轉化成所看到的頁面。實現的方式是:數據綁定。二是將【視圖】轉化成【模型】,即將所看到的頁面轉化成後端的數據。實現的方式是:DOM 事件監聽。
vue中model對應data,view對應template, viewmodel對應vm實例即new Vue({…})
https://baijiahao.baidu.com/s?id=1596277899370862119&wfr=spider&for=pc
https://segmentfault.com/a/1190000018399478
https://www.cnblogs.com/dora-zc/p/11111813.html
二、vue傳值方式
父傳子: props傳值
子傳父: $emit
兄弟組件: eventBus , vuex
三、vuex(和後端交互)
vue的狀態管理工具,管理多頁面共享數據的。(面試官問到了再和後退前後端交互之間怎麼用,我不知道該怎麼答,就回答了在項目中使用vuex存儲了登錄信息,在向後臺提交數據時可以獲取使用)
四、vue-router
五、有沒有對axios進行封裝
https://juejin.im/post/5b55c118f265da0f6f1aa354
https://www.cnblogs.com/panax/p/10942889.html
六、promise
promise成功,失敗
Promise接受一個回調函數,回調函數接收兩個參數,resolve(將Promise的狀態從pending變爲fulfilled,在異步操作成功時調用,並將異步操作的結果傳遞出去)、reject(將Promise的狀態從pending變爲rejected,在異步操作失敗時調用,將異步操作的錯誤作爲參數傳遞出去)這兩個都是函數,表示成功和失敗的處理函數。
promise幾種狀態
Promise 異步操作有三種狀態:pending(進行中)、fulfilled(已成功)和 rejected(已失敗)。除了異步操作的結果,任何其他操作都無法改變這個狀態。
promise返回異常
https://zh.javascript.info/promise-error-handling
https://www.runoob.com/w3cnote/es6-promise.html
七、echarts/higncharts
這裏只是問了一下我爲什麼app端和web端使用了不同的圖標插件
https://www.jianshu.com/p/6ac06c9052ae
https://www.highcharts.com.cn/
https://www.echartsjs.com/zh/index.html
八、angular 和vue的區別
https://www.jianshu.com/p/a7e47abd3e79
https://www.jianshu.com/p/082808e8201b
九、angular 綁定數據方式
https://blog.csdn.net/u011321546/article/details/80743601
十、angular依賴注入
https://www.jianshu.com/p/4b10948d456c
https://segmentfault.com/a/1190000019356065?utm_source=tag-newest
十一、angular 觀察者模式
https://segmentfault.com/a/1190000015640618
十二、js數據類型
基本: string number boolean null undefined
引用: object ,function, array
es6: Symbol
十三、判斷js數據類型的方法,有什麼區別
1、typeof 加數據直接返回數據類型,但是null,array,object 均返回爲object
2、instanceof 運算符用來測試一個對象在其原型鏈中是否存在一個構造函數的 prototype
屬性,檢測某個對象是不是另一個對象的實例,返回true 或者false
可以看出instanceof無法檢測基本類型,且檢測函數的話只有在instanceof 其構造函數爲true,直接instanceof Function也爲false,
因爲instanceof其實是用來檢測一個對象在其原型鏈中是否存在一個構造函數的 prototype
屬性。
無法檢測null和undefined
https://blog.csdn.net/weixin_33704591/article/details/91397240
3、constructor
constructor能用於檢測js的基本類型和引用類型,但當對象的原型更改之後,constructor便失效了。
https://www.w3school.com.cn/jsref/jsref_constructor_array.asp
四、Object.prototype.toString.call()
用於檢測js所有的數據類型。
https://segmentfault.com/a/1190000019259209
十四、js執行機制(異步、同步)
https://juejin.im/post/59e85eebf265da430d571f89
https://www.cnblogs.com/shcrk/p/9325779.html
十五、for in, for of 的區別
http://www.fly63.com/article/detial/1444
十六、閉包
閉包就是一個能夠讀取到其他函數內部變量的函數。
作用:讀取函數內部的局部變量,讓這些局部變量始終保持在內存。
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
十七、new Function 幹了什麼
https://juejin.im/post/5c7d0e1ae51d4560896aee66
十八、瞭解D3.js嗎