闪烁之狐
07
15
Vue 中的diff算法? Vue 中的diff算法?
前后元素不一致 两个不同虚拟节点不需要进行比较,直接移除老节点,将新的虚拟节点渲染成真实 DOM 进行挂载即可 export const isSameVNodeType = (n1, n2) => { return n1.t
2024-07-15
06
27
V8内存管理 V8内存管理
V8 也会申请内存,申请的内存又会分为堆内存和栈内存 一、栈 栈用于存放 JS 中的基本类型和引用类型指针 栈的空间是连续的,增加删除只需要移动指针,操作速度非常快 栈的空间是有限的,当栈满了,就会抛出一个错误 栈一般是在执行函数时创建
2024-06-27 高红翔
05
11
单页应用首屏加载速度慢的怎么解决? 单页应用首屏加载速度慢的怎么解决?
使用路由懒加载、异步组件,实现组件拆分,减少入口文件体积大小,优化体验骨架屏 抽离公共代码,采用 splitChunks 进行代码分割。 组件加载采用按需加载的方式。 静态资源缓存,采用 HTTP 缓存 (强制缓存、对比缓存)、使用 lo
2024-05-11
11
React中的diff算法? React中的diff算法?
React 的 diff 算法是 React 在更新 DOM 时使用的算法。它的目的是最小化页面的重新渲染,以便提高性能。 当 React 渲染组件时,它会在内存中生成虚拟 DOM 树。然后,它会对比新的虚拟 DOM 树和之前的树的差异,找
2024-05-11
11
Vue中的性能优化有哪些 Vue中的性能优化有哪些
Vue2 中数据层级不易过深,(会数据劫持每一层都增加getter和setter).合理设置响应式数据; Vue2 非响应式数据可以通过 Object.freeze()方法冻结属性; Vue2 中采用函数式组件 -> 函数式组件开销
2024-05-11
11
函数组件的优势 函数组件的优势
函数式组件是一种定义自身没有任何状态的组件的方式。它们很像纯函数:接收 props,返回 vnodes。函数式组件在渲染过程中不会创建组件实例 (也就是说,没有 this),也不会触发常规的组件生命周期钩子。 在 Vue2 正常组件是通
2024-05-11
03
28
Vue.set方法是如何实现的 Vue.set方法是如何实现的
Vue2 不允许在已经创建的实例上动态添加新的响应式属性。所以采用 set API 来进行实现。 export function set(targetx, key, val) { // 1.是开发环境 target 没定义或者
2024-03-28
28
Vue组件中的data为什么必须是函数 Vue组件中的data为什么必须是函数
根实例对象data可以是对象也可以是函数“单例”,不会产生数据污染情况 组件实例对象data必须为函数,目的是为了防止多个组件实例对象之间共用一个data,产生数据污染。所以需要通过工厂函数返回全新的 data 作为组件的数据源 fun
2024-03-28
28
Vue.extend方法的作用 Vue.extend方法的作用
1.1 Vue.extend 概念使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象。 data 选项是特例,需要注意 - 在 Vue.extend() 中它必须是函数 var Profile = Vue.extend
2024-03-28
27
27
Vue.use是干什么的 Vue.use是干什么的
.1 use 概念安装 Vue.js 插件。如果插件是一个对象,必须提供 install 方法。如果插件是一个函数,它会被作为 install 方法。install 方法调用时,会将 Vue 作为参数传入,这样插件中就不在需要依赖 Vue
2024-03-27
27
Vue.mixin的使用场景和原理 Vue.mixin的使用场景和原理
1.1 Vue.mixin 概念mixin 可以用来扩展组件,将公共逻辑进行抽离。在需要该逻辑时进行“混入”,采用策略模式针对不同的属性进行合并。如果混入的数据和本身组件中的数据冲突,会采用“就近原则”以组件的数据为准。 mixin 中有
2024-03-27
1 / 10