摘要: mixin的使用和原理 使用: 可以通过 Vue.mixin 来实现逻辑的复用,问题在于数据来源不明确。声明的时候可能对导致命名冲突 vue3 采用的就是 compositionAPI 局部混入: var myMixin = { created: function () { this.hello() 阅读全文
posted @ 2023-04-22 19:13 楸枰~ 阅读(231) 评论(0) 推荐(0)
摘要: 递归乘法 直接上代码: /** * @param {number} A * @param {number} B * @return {number} */ var multiply = function(A, B) { if(A 0 || B 0)return 0 arr = [0] for(let 阅读全文
posted @ 2023-04-21 22:00 楸枰~ 阅读(15) 评论(0) 推荐(0)
摘要: Vue的生命周期 钩子函数是如何实现? 内部利用一个发布订阅模式,将用户写的钩子维护成一个数组,后续依次调用hooks。主要靠的是mergerOptions 方法有哪些? 引用自https://vue3js.cn/interview/vue/lifecycle.html#%E4%BA%8C%E3%8 阅读全文
posted @ 2023-04-21 11:09 楸枰~ 阅读(50) 评论(0) 推荐(0)
摘要: 魔术索引 思路: 直接代码 function findMagicIndex(nums) { let i = 0 if(!nums.length){ return -1 } else{ while(i <= nums.length && i !== nums[i]){ i ++ } let min = 阅读全文
posted @ 2023-04-20 21:00 楸枰~ 阅读(17) 评论(0) 推荐(0)
摘要: diff算法 diff算法的特点就是平级比较,内部采用了双指针方式进行优化,优化了常见的操作。采用了递归比较的方式。 针对一个节点的diff算法 先拿出根节点来进行比较如果是同一个节点则比较属性,如果不是同一个节点则直接换成最新的即可。 同一个节点比较属性后,复用老节点 比较儿子 一方有儿子 一方没 阅读全文
posted @ 2023-04-20 19:30 楸枰~ 阅读(63) 评论(0) 推荐(0)
摘要: 三步问题 思路: 通过题意很明显就是动态规划问题,而且本问题很简单(是两步楼梯的进阶版),构造动态转换方程为: $$ dp[i] = d[i - 1]+dp[i-2]+dp[i-3] $$ 解释一下:在第i层楼梯,到达这一层的方式可以从第i-1层上来,也可以在i-2层上来,也可以从i-3上来,因此相 阅读全文
posted @ 2023-04-19 21:09 楸枰~ 阅读(18) 评论(0) 推荐(0)
摘要: 异步更新 异步更新原因 以下情况下: vm.name = '123' vm.name = '234' vm.name = '123' ... 如果我们频繁的修改一个数据,就会多次触发视图渲染dep.notify->watcher.update 这样就会降低性能,因此就需要采用异步更新策略,仅仅在最后 阅读全文
posted @ 2023-04-19 19:41 楸枰~ 阅读(32) 评论(0) 推荐(0)
摘要: 配位交换 思路: 分别保留偶数为和奇数位,然后分别右移和左移。 /** * @param {number} num * @return {number} */ var exchangeBits = function(num) { // 用来保留奇数位 const add = 0x55555555 / 阅读全文
posted @ 2023-04-18 21:31 楸枰~ 阅读(20) 评论(0) 推荐(0)
摘要: 依赖收集的过程 前言 使用真实节点替换原始节点,主要涉及以下步骤: 1.新老节点的更新方案。 2.虚拟节点与真实节点映射。 3.实现新老节点的替换。 依赖收集 已经完成了Vue的两大核心部分:响应式数据和数据渲染,即完成了整个Vue的初始化流程: 当new Vue()时,执行_init初始化,通过m 阅读全文
posted @ 2023-04-18 19:34 楸枰~ 阅读(226) 评论(0) 推荐(0)
摘要: 下一个数 思路: 求出从最低位的1开始的连续的1的区间 将此区间全部变为0,并将区间左侧的那个0变为1 将第1步取出的区间右移,直到剩下的1的个数减少一个 将第2步和第3步的结果相或 /** * @param {number} num * @return {number[]} */ var find 阅读全文
posted @ 2023-04-17 21:02 楸枰~ 阅读(16) 评论(0) 推荐(0)