高频面试题

一.为何v-for要用key属性呢?

        key具有唯一性,可以阻止元素复用,快速查找到节点,减少渲染次数,提升渲染性能

二.v-if和v-show的区别

        v-if:适用于条件经常变化或需要创建和销毁元素的场景,因为它会根据条件动态添加或移除DOM元素(if为真添加到DOM结构否则会从DOM中移除)

        v-show:适用于需要频繁切换显示状态的元素,因为它仅通过改变css样式来控制显示和隐藏(在DOM中存在 但不可见)

三.for循环和map循环,forEach的区别

        for循环是通过指定初始条件、循环条件和每次循环后的操作来遍历数组

        map遍历对象自身和继承可枚举的属性,也就是说会包括哪些原型链上的属性

        forEach方法用于调用数组的每个元素,并将元素传递给回调元素

拓展:map不会对空数组进行检测,map会返回一个新数组,不会对原数组产生影响

           for循环需要手动编写循环变量的初始化、条件判断和更新操作,

           map方法则通过回调函数自动遍历数组中的每个元素,并返回一个新数组

四.vue2和vue3区别

  1. Vue2 只支持一个根节点,Vue3 支持多个根节点,
  2. Vue2响应式,基于Object.defineProperty()实现的
  3. Vue3响应式就与Proxy实现的
  4. 在vue2中,v-for 优先级高于 v-if; 在vue3 中,v-if 优先级高于v-for;
  5.  对于生命周期来说,Vue3整体上变化不大,只是大部分生命周期钩子名称上 + “on”,功能上是类似的。不过有一点需要注意,Vue3 在组合式API(Composition API)中使用生命周期钩子时需要先引入,而 Vue2 在选项API(Options API)中可以直接调用生命周期钩子

五.vuex和pinia

    1. pinia不需要手动划分模块,vuex需要手动

    2. pinia中getter和action可以通过this来访问整个store实例。pinia中action可以编写同步代码也可以编写异步代码

    3. pinia对ts的支持更加友好

    4.Pinia是一个轻量级的状态管理库,它专注于提供一个简单的API来管理应用程序的状态;

       Vuex是一个更完整的状态管理库,它提供了更多的功能,比如模块化、插件和严格模式等

 六.同步异步阻塞非阻塞

       同步:阻塞 需要等待

        异步:非阻塞 不需要等待

        应用场景:同步:适用于执行速度较快的操作

                          异步:适用于耗时的操作 如:网络请求  文件续写 数据库查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值