V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JayLin1011
V2EX  ›  Vue.js

VueJS 源码涉及到的哪些常见算法?

  •  
  •   JayLin1011 ·
    jay-lin1110 · 2020-09-21 09:02:41 +08:00 · 2686 次点击
    这是一个创建于 1551 天前的主题,其中的信息可能已经有所发展或是发生改变。
    除了 <keep-alive /> 内置组件的缓存策略和 DOM diff 的 sequence,Vue 中还有没有使用到其他常见的具体算法。
    有的话具体是哪些?拜托各位小伙伴帮忙补充填坑。
    waiaan
        1
    waiaan  
       2020-09-21 10:51:32 +08:00
    树?
    JayLin1011
        2
    JayLin1011  
    OP
       2020-09-21 12:18:55 +08:00
    @waiaan 您是指 vue@2 的双指针重排吗?我差点忘了这个, 不过这个比较复杂且全面,我感觉笔试题应该不考这个吧,感觉这个算法不够普遍且难度颇高。
    lqfxz520
        3
    lqfxz520  
       2020-09-21 19:55:34 +08:00 via iPhone
    都开始学习算法了厉害了 我死活看不懂解析代码转化成 vnode 的过程
    JayLin1011
        4
    JayLin1011  
    OP
       2020-09-21 23:30:10 +08:00
    @lqfxz520 学习就是将知识固化为常识的过程,只要突破舒适区就是进步,咱慢慢来。算法据说是编程基础,可我就是学不懂,同病相怜啊。Fighting !
    JayLin1011
        5
    JayLin1011  
    OP
       2020-09-22 09:21:36 +08:00
    + 折半(二分)查找(序列子分支算法优化,可以先了解这个的原理,然后尝试实现完整算法)。
    JayLin1011
        6
    JayLin1011  
    OP
       2020-09-22 10:51:33 +08:00
    缓存算法具体内容补充:
    vue@2:使用数据结构数组(顺序)+对象(读写) [有点像散列表+双向链表的思路] ;
    vue@3:独属于 JS 语言的完美实现:ES6 数据结构,Map 的黑魔法 [虽然迭代器特性仅适用于某些场景,但这个很值得借鉴,本人扫盲成功] 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4540 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 05:36 · PVG 13:36 · LAX 21:36 · JFK 00:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.