千锋教育web前端高频面试题视频教程,kerwin大话前端面试秘籍(附答案)

p16vue面试题
1、nextTick():DOM更新循环结束之后执行的回调,可以获取更新之后的DOM。原理是使用了宏任务和微任务定义了一个方法,调用nextTick()将方法放入队列中,通过异步方法清空队列。
2、虚拟dom提高性能:真实dom会整体渲染,虚拟dom是局部刷新变化的位置。
3、vue的性能优化
首屏加载优化、路由懒加载、开启服务器Gzip压缩、启动CND加速、代码优化(computed和watch区分场景使用、v-if和v-show区分场景使用、v-for必须添加key等)、webpack对图片进行压缩、避免内存泄漏、减少ES6转为ES5的冗余代码
4、vue常用修饰符
v-model修饰符:
lazy:光标离开后才会更新数据
tirm:过滤首尾空格
number:先输入数字就会限制输入只能是数字,先输入字符串相当于没有加number
事件修饰符:
stop:阻止事件冒泡
prevent:阻止默认行为
self:只有元素本身触发时才能触发方法
once:事件只能用一次
captrue:事件的完整机制是捕获-目标-冒泡,事件触发就是往外冒泡
sync:对属性进行双向绑定
keyCode:监听按键的指令
5、vue中template的编译过程
通过parse()生成抽象语法树=》optime对静态节点优化=》generate生成render字符串=》调用new Watcher()函数监听数据的变化,render在数据监听的回调时调用重新生成Vnode。
6、vue3
性能比vue2更快(diff算法更快、静态提升、事件监听缓存)、体积比vue3更小(vite方法创建项目)、支持组合API、更好的支持TS、更先进的组件
7、ref和reactive
ref一般监听基本类型
reactive只能监听对象
ref定义的数据获取的时候要.value
8、vuex和reduce区别
vuex改进了redux的action和reducer函数,用mutations取代了reducer,只需在对应的mutation函数里改变state的值就可以