zoukankan      html  css  js  c++  java
  • vue3面试题

    1、vue3的新特性
       答:
    1、响应系统的变动
    由原来的Object.defineProperty 的getter 和 setter,改变成为了ES2015 Proxy 作为其观察机制。
    Proxy的优势:消除了以前存在的警告,使速度加倍,并节省了一半的内存开销。
    2、虚拟DOM重写(Virtual DOM Rewrite)
    虚拟 DOM 从头开始重写,我们可以期待更多的编译时提示来减少运行时开销。重写将包括更有效的代码来创建虚拟节点。
    3、组件渲染的优化(优化插槽生成)
    Vue2当中在父组件渲染同时,子组件也会渲染。 Vue3就可以单独渲染父组件、子组件。
    4、静态树提升(Static Tree Hoisting)
    使用静态树提升,这意味着 Vue 3 的编译器将能够检测到什么是静态组件,然后将其提升,从而降低了渲染成本。它将能够跳过未整个树结构打补丁的过程。
     
    静态树提升(.png
    5、静态属性提升(Static Props Hoisting)
    此外,我们可以期待静态属性提升,其中 Vue 3 将跳过不会改变节点的打补丁过程。
    总体来说:1. 更快 2. 更小 3. 更容易维护 4. 更加友好 5. 更容易使用
     
    2.vue3对比vue2有哪些不同?
    3、Proxy 相比于 defineProperty 的优势
    Object.defineProperty() 的问题主要有三个:
    • 不能监听数组的变化
    • 必须深层遍历嵌套的对象
    • 必须遍历对象的每个属性
    Proxy 在 ES2015 规范中被正式加入,它有以下几个特点:
    • 针对对象:针对整个对象,而不是对象的某个属性,所以也就不需要对 keys 进行遍历。这解决了上述 Object.defineProperty() 第二个问题

        *  支持数组:Proxy 不需要对数组的方法进行重载,省去了众多 hack,减少代码量等于减少了维护成本,而且标准的就是最好的。

    除了上述两点之外,Proxy 还拥有以下优势:
    • Proxy 的第二个参数可以有 13 种拦截方法,这比起 Object.defineProperty() 要更加丰富
    • Proxy 作为新标准受到浏览器厂商的重点关注和性能优化,相比之下 Object.defineProperty() 是一个已有的老方法。
    4、vue2为什么不使用proxy?
     答: 兼容性
    5、vue3性能比vue2好的原因?
     答:1.diff算法优化
            2.静态提升hoistStatic
            3.事件侦听器缓存 cacheHandles
     
  • 相关阅读:
    SLAM基础知识
    标准的机器学习问题
    LAS的数据格式
    Python中的多线程和多进程
    【go】log
    【亲密关系】3-吸引力
    【mysql】做 mariadb 的备库无法启动
    【zabbix-server】Supervising process xxxx which is not our child....exits
    【win10】添加程序自启动
    【Oralce】数据去重,限制某个字段的数据长度,替换空格符
  • 原文地址:https://www.cnblogs.com/ygunoil/p/14464335.html
Copyright © 2011-2022 走看看