- 博客(51)
- 资源 (7)
- 收藏
- 关注
原创 根据源码分析vue中nextTick的实现原理
队列管理:合并同一事件循环内的回调。异步调度:优先微任务(Promise/MutationObserver),降级宏任务(setImmediate/setTimeout)。执行顺序:确保 DOM 更新队列先于用户回调执行。
2025-04-03 17:56:00
610
原创 如何重构前端项目
重构前端项目需要投入大量的时间和精力,但它可以有效地提高代码质量和性能,减少代码维护的成本和难度,提高项目的可维护性和可扩展性,同时也可以提高团队的开发效率和工作质量。优化代码逻辑和算法,使用更好的数据结构和算法,减少不必要的计算和网络请求,采用异步加载和懒加载技术,提高页面加载速度和响应速度。采用更好的代码风格、命名规范和注释规范,引入代码规范检查工具和自动化测试工具,提高代码的可读性、可维护性和可扩展性。了解项目的规模、复杂度、技术栈和现有的问题和挑战,以及重构的目标和范围。
2025-04-03 16:22:02
178
原创 如何理解前端工程化
前端工程化是指将前端开发中的项目管理、构建、测试、部署等环节进行规范化和自动化的一种开发方式。前端工程化通过规范化和自动化前端开发流程,提高了开发效率、代码质量和团队协作能力。它适应了快速迭代、多平台适配的现代前端开发需求,是前端开发领域的重要趋势。
2025-03-24 16:19:57
536
原创 el-dropdown全屏模式下不展示下拉菜单处理
在`el-dropdown-menu`标签上加上属性` :append-to-body="false"`即可。
2025-03-21 16:03:48
259
原创 对cookie的理解
简单来说cookie就是一段 key-value 形式的文本片段,通讯时服务器可通过 http header 下发 cookie 信息记录到用户浏览器;浏览器在后续通讯时会自动带上。path=/";
2025-03-20 18:07:27
790
原创 常见前端安全问题及解决方案
前端安全需关注输入输出过滤、通信加密、权限控制 三大核心,结合技术手段(如 CSP、Token 验证)与规范管理(如依赖更新、漏洞监测),形成纵深防御体系。
2025-03-20 16:05:12
380
原创 浏览器相关攻击
XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 cookie 等。
2025-03-20 15:47:40
972
原创 object.assign和扩展运算法是深拷贝还是浅拷贝,两者区别
浅拷贝的定义只复制对象的第一层属性(基本类型直接复制值,引用类型复制内存地址)
2025-03-14 10:58:31
438
原创 【WeakMap 与 Map 的核心区别】
map 的键是强引用,只要键不释放就会一直占着内存,不被GC;weakmap 的键是弱引用不会计入垃圾回收机制,map 的键值可以是任意的数据类型:基础类型、对象、函数等;weakmap 的键只能是非 nu 的对象引用由于 key 随时会被回收,所以 weakmap 的key 不可枚举,相应地也就不能获取 size 等,它能做的事情也就只有 has/get/set/delete 四种操作;map 相对比较丰富
2025-03-07 17:58:53
390
原创 【为什么会有 map、weakmap 类型?】
Map 和 WeakMap 的诞生分别针对传统对象的功能局限和内存管理痛点:Map 通过支持任意键类型和有序存储,扩展了键值对结构的应用范围;WeakMap 通过弱引用机制,解决了对象关联数据的内存泄漏风险,适用于与对象生命周期紧密绑定的场景
2025-03-07 17:52:49
332
原创 【async-await 是否会阻塞代码的执行】
在JavaScript中用于简化异步操作的处理,但它本身并不会阻塞代码执行,它允许以一种看似同步的方式编写异步代码,而实际上只是在特定函数的上下文中暂停执行,不会阻塞整个程序的运行。
2025-03-07 16:37:02
268
原创 contenteditable——html5新增的一个允许用户直接在页面中编辑文本内容的属性
contenteditable,html5新增的一个允许用户直接在页面中编辑文本内容的属性,以及contenteditable与input标签的比较
2024-06-27 16:19:12
2219
原创 在 Vue组件与mixins 中的属性、方法、监听器和生命周期函数的优先级
如果组件和 mixins 中定义了同名的属性、方法、监听器或生命周期函数,组件中的定义将具有更高的优先级并被使用。
2024-06-14 18:14:19
615
原创 虚拟DOM性能一定比真实DOM好吗
对于小规模和简单的应用,真实DOM可能更合适,因为它提供了直接操作DOM的能力,并且不需要额外的计算开销。对于大规模、高性能和复杂的应用,虚拟DOM可能更有优势,因为它能够减少直接操作实际DOM的次数,提高渲染性能和效率。
2024-06-13 17:53:33
924
原创 什么是LCP和FCP指标
LCP(Largest Contentful Paint)和FCP(First Contentful Paint)是Web性能分析中的两个关键指标
2024-06-13 17:14:17
2638
原创 Intersection Observer API介绍
通过使用Intersection Observer API,开发者可以更加高效地管理元素的可见性,实现懒加载、无限滚动、可视化统计等交互效果,同时减少性能开销,提升用户体验。
2024-06-12 17:27:17
1248
1
原创 el-tabs切换页签时获取更多属性
需求:后续操作中会用到tab页签返回来的对象中的其他属性, 直接通过tab-click标签事件返回的实例无法获取到其他的属性。解决办法:在页签上增加属性**:value=“JSON.stringify(tab)”,
2023-03-24 17:47:59
1583
1
原创 【echarts图标底部标签legend展示数量及字符长度限制】
其实很简单, 就是对legend中的data属性做特殊的处理就行了, 代码如下, 关键代码在getCharts方法中,已经在代码中做了标注。
2023-03-03 10:56:18
2576
原创 深拷贝浅拷贝的区别?如何实现一个深拷贝?
浅拷贝,指的是创建新的数据,这个数据有着原始数据属性值的一份精确拷贝如果属性是基本类型,拷贝的就是基本类型的值。如果属性是引用类型,拷贝的就是内存地址即。
2023-02-21 10:32:26
110
原创 【moment.js的.diff()方法 js计算两个日期的时间差】
js计算两个日期时间差可以使用moment().diff()函数, 用于获取给定日期的毫秒差。注意: 如果该时刻早于传给 moment.fn.diff 的时刻,则返回值为负数。
2023-02-14 17:37:20
4624
原创 TypeErrow: handler.apply is not a function
当项目中出现错误TypeErrow: handler.apply is not a function时, 不仅仅要查看是否有与方法名相同的变量, 另外还需要排查方法是不是正确的函数格式
2023-02-10 15:50:40
891
原创 【JS 为什么是单线程】
**JS的单线程,与它的用途有关。作为浏览器脚本语言,其主要用途是实现用户与浏览器的交互,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。** 例如:如果js被设计了多线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,此时浏览器就会一脸茫然,不知所措。
2023-02-08 17:32:24
183
原创 【CSS性能优化技巧】
css性能优化方法: 1、压缩css,减少文件体积;2、使用link引入css文件;3、合理设计CSS布局,注意复用样式,减少渲染上花的时间;4、少用“*”选择器;5、慎用浮动、定位等高性能属性;6、尽量减少页面重排、重绘;7、属性值为0时,不加单位等等。
2022-11-09 17:53:04
1120
原创 【当在浏览器中输入url 并且按下回车之后发生了什么】
在浏览器中输入url并且获取响应的过程,其实就是浏览器和该url对应的服务器的网络通信过程
2022-09-19 18:14:00
325
转载 var、let、const三者区别
let和const存在暂时性死区,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。能用const的情况尽量使用const,其他情况下大多数使用let,避免使用var。var声明的变量存在变量提升,即变量可以在声明之前调用,值为undefined。let和const不存在变量提升,即它们所声明的变量一定要在声明后使用,否则报错。一旦声明,常量的值就不能改变。let和const在同一作用域不允许重复声明变量。let和const存在块级作用域。var不存在块级作用域。var允许重复声明变量。...
2022-07-19 15:49:52
196
原创 纯前端导出导出列表(表格)为excel file-saver xlsx 及script-loader插件
2、src目录下新建一个文件夹命名为Excel(名称可以根据自身需要定义)3、Blob.js 和 Export2Excel.js文件放到新建的Excel文件下Blob.jsExport2Excel.js5、使用因为界面用的比较多 所以这里定义为公共的方法, 在需要用的的地方直接调用就可以啦...
2022-06-07 16:33:53
1673
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人