真實前端面試場景錄音分析(上)

一.ES6有哪些新特新:
- import和export
- let和const
- async和await
- promise
- 解構(gòu)賦值
- set方法
- 箭頭函數(shù)
二.常用數(shù)組的方法
增(前增后增中增)刪(前刪后刪中刪隨機刪)改(合并/排序)遍歷(es6includes/find/findIndex/es5的map/forEach/reduce)
- 增:前增-unshift;后增-push;中增-splice
- 刪:前刪-shift;后刪-pop;中刪-splice
- 改:合并-concat;排序-sort
三.什么是閉包?閉包會造成什么問題?
閉包就是一個有權(quán)訪問另一個函數(shù)作用域的變量的函數(shù),閉包會造成內(nèi)層泄露,因為閉包中的局部變量永遠(yuǎn)不會被回收
四.什么是原型鏈
當(dāng)一個對象想查找一個屬性的時候,首先在自身上查找,如果找不到就順著原型鏈(指的是對象的__proto__,__proto__指向的是創(chuàng)建這個實例的protoptype,因為new的時候有一個步驟就是把構(gòu)造函數(shù)的prototype賦給實例的proto屬性)查找,所以相對于是沿著原型鏈去查找構(gòu)造他的對象的構(gòu)造函數(shù)的protptype上面去找),一直找...找到object.prototype.__proto__找到null對象,null上沒有這個屬性,返回的就是undefined
五.vue有哪些常用的指令
v-bind屬性綁定
v-model雙向綁定
v-for循環(huán)
v-if條件渲染
v-show顯示隱藏
六.如何自定義一個指令
1.全局定義 用vue.directive()
2.局部定義,在某個組件或者某個實例里面directives的配置項
七.v-if和v-for不建議一起使用
因為v-for的優(yōu)先級大于v-if,比如數(shù)組里面有100個,先用v-for去遍歷一遍,再用v-if去判斷顯示還是隱藏.這樣會很消耗性能 解決方法:用計算屬性進(jìn)行數(shù)據(jù)過濾,過濾好之后再去遍歷需要展示的數(shù)據(jù)