vue源码核心部分

1.模板编译   初始化时做的:template ==parse()==>ASTtree ==generate()==>render函数  ==> mount(调用dom方法)

                    每次更新都要做的: render函数 ==> vNode tree ==> patch(oldVnode, vNode) ==> update(调用dom方法)

2.diff算法  关键词:同层级比较  复杂度o(n)  两对头尾指针 加key复用

实现: patch==> 判断sameNode ==> patchNode() ==> 更新text && updateChildren ==> while循环 递归调用patchNode

3. $watch  批量更新 通过Object.defineProperty实现

原文地址:https://www.cnblogs.com/natsu07/p/10305697.html