- 博客(10)
- 收藏
- 关注
原创 全网最详细 & 最完善的 Promise 实现教程,带你彻底掌握 Promise
还在被网上粗制滥造的Promise实现教程误导吗?这是全网最详细最完善的Promise实现教程,带你彻底掌握Promise。
2025-02-25 17:39:09
745
原创 一文讲清 JavaScript 异步编程
一直以来,JavaScript以其出色的异步模型著称。特别在ES6之后,JavaScript正式变成一门完善的编程语言,Promise使其异步特性也趋近于完善,并且在ES2017中新增了基于Promise的语法糖,使得异步操作变得更加简单。可以说,如果不学习JavaScript的异步编程,就根本不算真正接触JavaScript这门语言。那么究竟什么是异步编程,接下来让我开始为你讲解。回调地狱指的是当需要按顺序执行多个异步操作时,回调函数往往会被大量嵌套,从而导致可读性大大下降的情况。
2025-01-18 20:59:41
1042
原创 一文讲清 JavaScript 动画基础
本文介绍了前端动画的实现原理和方法,包括关键帧、插值、渲染循环等基本概念,并展示了如何使用JavaScript实现简单的插值动画和更复杂的物理动画。文章还探讨了缓动函数的作用,并提供了一个实用的在线资源,帮助开发者选择和实现各种缓动效果。
2024-11-24 21:57:13
1543
原创 解决 Canvas 双击后拖拽失效问题
在开发一个仿 excalidraw Web 应用时,遇到了双击页面后拖拽失效的问题。主要表现在双击后拖拽功能无法使用,鼠标指针变为 copy 样式,且 mousemove 事件监听器不再触发。通过分析,发现问题并非由焦点转移引起。实际原因在于双击可能触发浏览器的默认行为,如文本选择或窗口最大化,这些行为会干扰事件的正常传播。特别是 dragstart 事件在双击后可能会被触发,导致拖拽功能异常。为了解决这个问题,通过在文档上添加 dragstart 事件监听器,并调用 event.preventDefaul
2024-09-05 15:25:09
809
原创 《Vue.js设计与实现》学习笔记 | 响应系统的作用与实现
本章从 Vue.js 的响应式数据系统入手,探讨其核心机制。先是介绍了副作用函数及其原理,通过对数据的读取和赋值捕获,实现响应式。接着讲解了利用 `Proxy` 和 `WeakMap` 实现数据与副作用函数的绑定和触发。为解决副作用函数重复执行的问题,引入了依赖清理机制,并通过封装 `track` 和 `trigger` 函数优化代码。针对嵌套 `effect`,采用栈结构管理活动副作用函数,避免误收集。最后通过调度执行机制,实现了副作用函数的可调度性,从而构建了一个完善的响应式系统。
2024-07-20 21:11:57
1161
原创 《Vue.js设计与实现》学习笔记 | Vue.js 3 的设计思路
本章主要讲解了 Vue.js 3 如何通过声明式描述 UI,使开发者可以使用模板语法和 JavaScript 对象来定义 DOM 元素、属性和事件。然后,讲解了如何使用 JavaScript 对象描述虚拟 DOM,使代码更加灵活,以及如何使用 `h` 函数简化虚拟 DOM 的创建,使手写虚拟 DOM 更加简便。最后讲解了渲染器的作用,并指出模板在编译阶段被编译为 JavaScript 代码,在运行时由渲染器渲染为真实 DOM。
2024-07-14 12:36:42
1254
1
原创 《Vue.js设计与实现》学习笔记 | 框架设计的核心要素
本章主要讲了应当如何使用特定方法来在生产环境中给开发者带去优质的开发体验,如合理、友好地输出各种信息。以及如何使用 rollup.js 等打包工具缩减构建体积,删除生产环境下不必要的代码。然后分多钟情况讲解了在不同的需求下需要输出哪些不同的构建产物。最后再讲解了如何在框架中加入不错的错误处理,以及加入TS支持的需求。
2024-07-13 11:16:54
808
原创 《Vue.js设计与实现》学习笔记 | 权衡的艺术
本章主要讲了声明式和命令式各自的特点和局限,框架开发者应当如何尽可能降低声明式带来的性能损耗,并降低开发者的心智负担,提高编写程序的可维护性。接着,讨论了虚拟DOM的性能,以及其与传统操作模式的区别的优势。最后,讨论了编译时和运行时这两种框架类型。
2024-07-12 20:10:03
972
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人