全栈开发工程师面试题二

程序员的几大层次:落地,需求开发,概念,原理,实现
1.Vue的性能优化?(本质上是解决响应式的问题)
1)路由懒加载,有效拆分应用大小,访问时才异步加载
2)keep-alive缓存页面,避免重复创建组件实例,且能保存缓存组件状态
3)v-for和v-if避免同时使用
4)长列表性能优化,可采用虚拟列表
5)v-once,不再变化的数据使用v-once
6)事件销毁,组件销毁后把全局变量和定时器销毁
7)图片懒加载
8)第三方插件按需引入
9)服务端渲染

2.v-for和v-if的优先级
Vue2:v-for的优先级会高于v-if
如果我们在同一个标签上既使用v-for又实用v-if,这样就会导致我们先循环后判断,他会导致我们的v-if找不到那个变量,然后报错。
解决方案:
1.列表外层发父元素加一个v-if
2.通过计算属性来过滤
Vue3:v-if的优先级会高于v-for

3.vue2和vue3的区别
1)vue2的组件只支持一个根节点,但是vue3确支持多个跟节点
2)diff算法:vue2会比较每一个虚拟节点,vue3只会比较变化的虚拟节点
3)v-for和v-if的变化
4)双向数据绑定原理:vue2使用Object.defineProperty进行数据劫持,结合发布订阅者模式实现,vue3使用proxy来实现
5)vue3增加了组合api
6)vue3生命周期增加了setup,替代了beforeCreate和Created

4.v-if和v-show的区别(主要是用来进行切换的)
1)方式
v-if 操作DOM的
v-show 操作样式的,也就是display

2)编译
v-if DOM编译和卸载的过程 惰性----条件为真开始局部编译
v-show 基于css

3)性能
v-if :消耗性高
v-show:消耗低,适合频繁切换

4)使用场景:
v-if:执行业务相对复杂
v-show:适合频繁切换

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值