记录技术,也记录思考
一个基于 FastAPI 构建的个人博客,用清晰的代码记录真实的学习过程。
Javascript文章
浏览器渲染流程:从输入域名到页面显示
浏览器渲染流程可以分成两条互相配合的链路:网络链路负责把服务器返回的 HTML、CSS、JavaScript 和图片下载回来;渲染链路负责把这些字节解析成 DOM、CSSOM、渲染树,经过布局、绘制、
阅读全文Object 常用属性与方法:从读取到保护的实战指南
## 目录 - [一、先建立一张方法地图](#一先建立一张方法地图) - [二、读取对象:keys、values、entries](#二读取对象keysvaluesentries) - [三、转换对象:entries 与 fromEntries](#三转换对象entries-与-fromentries) - [四、复制与合并:assign 的边界](#四复…
阅读全文Map、Set、WeakMap、WeakSet的区别和应用
在 JavaScript 中,Map、Set、WeakMap 和 WeakSet 是 ES6 引入的四种新型数据结构,它们各自解决了不同场景下的数据组织问题,核心差异体现在键的类型、引用方式以及是否可迭代三个方面。
阅读全文Promise:把异步任务变成可组合的结果
Promise 是 JavaScript 中用于异步编程的核心对象,用来解决传统回调函数导致的“回调地狱”问题。它代表一个尚未完成但未来会完成的异步操作(如网络请求、文件读取)的最终结果(成功或失败)。
阅读全文闭包:函数为什么能记住已经离开的作用域
闭包(Closure)是“函数 + 它定义时可访问的词法环境”。常见情况是外层函数返回内层函数,内层函数仍引用外层变量;只要内层函数还可达,这些变量就会保持可访问,不会被立即垃圾回收。事件回调和定时器回调也可能形成闭包。
阅读全文事件循环(Event Loop)完整解析
事件循环(Event Loop)是 JavaScript 运行时协调同步代码、异步回调和任务队列的一套机制。JavaScript 主线程一次只执行一个调用栈,但浏览器或 Node.js 会把定时器、网络请求等异步结果放入任务队列,等调用栈空闲后再取出执行。面试时要重点说清楚:同步代码先执行;当前任务结束后清空微任务;然后才有机会执行下一个宏任务,并在浏览器中安排渲染。
阅读全文