前端面試(三)

一、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

https://router.vuejs.org/zh/

五、有沒有對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嗎

https://d3js.org/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章