Doraemon Starry Sky Backdrop
dorabighead Avatar
dorabighead
📘
✦ 独立技术专栏

前端学习

现代前端工程化体系、现代框架底层演进与浏览器核心原理深度探索。

累计收录 63 篇技术文稿 · 最近更新:2025-07-12
01
前端学习

🧠【彻底读懂 reduce】acc 是谁?我是谁?我们要干嘛?

🚧 开场:把你困住的误解先拆了 你是不是也以为: 答案是——不是!不是!真的不是! 让我们用这篇文章,从「误解」出发,到「掌握精髓」收官,完成一次技术脑内革命! 🏷️ 一、reduce 是什么?——数

#前端 #JavaScript #面试 · 约 9 分钟
阅读全文
02
前端学习

this 的前世今生:谁在叫我,我听谁的

🧠 一、什么是 this? 在 JavaScript 中,this 是一种运行时绑定,它代表的是函数被调用时的上下文对象。 不是定义位置、不是写在哪儿的对象、不是函数自己。 只有一个真理: 🧭 二、t

#前端 #JavaScript #面试 · 约 9 分钟
阅读全文
03
前端学习

🧠 别急着传!大文件上传里,藏着 Promise 的高级用法

大文件上传,其实是前端对异步编程掌控力的一次深水区测试。 你以为只是拖个文件框、调个接口而已? 真到了项目里,面对几个 G 的文件,老板一句话: > “不能卡、要能重传、并发别炸服务器、还能暂停”,

#前端 #JavaScript #面试 · 约 11 分钟
阅读全文
04
前端学习

for...in 和 for...of 的终极区别:一文彻底解决你的困惑

JavaScript 中的 for...in 和 for...of,名字像,功能却天差地别。 混用?代码能跑但极易出 bug。 想记住?咬牙背十次不如一次理解 + 巧记 + 联想。 本篇一文到底,帮你

#前端 #JavaScript #面试 · 约 14 分钟
阅读全文
05
前端学习

你写前端按钮,他们扛服务器压力:搞懂后端那些“黑话”!

🧭 前言:你写功能,他们在聊“系统扛不住了” 身为一名前端,你也许每天写的最多的词是 onClick,提 PR 最多的改动是“按钮颜色和边距”。 可就在你写按钮时,身后的后端小哥和运维师傅经常蹙眉低语

#前端 #JavaScript #架构 · 约 7 分钟
阅读全文
06
前端学习

【JS三兄弟谁是谁】搞懂 splice、slice、split,只需一杯奶茶的时间!

🍿 一、三兄弟登场:不同对象,不同任务 名称 作用对象 是否修改原对象 返回类型 功能简述 splice 数组 ✅ 是 被删除元素数组 原地删除元素并可插入新元素 slice 数组 / 字符串 ❌ 否

#前端 #JavaScript #面试 · 约 10 分钟
阅读全文
07
前端学习

深入 JavaScript 作用域机制:透视 V8 引擎背后的执行秘密

引言 JavaScript 作用域规则并非只是“变量在哪定义就在哪有效”这么简单。真正的理解要深入到 V8 引擎是如何在底层解析、构建、优化和执行这些作用域的。本文将从词法作用域的编译期构建、执行上下

#前端 #JavaScript · 约 9 分钟
阅读全文
08
前端学习

你真的了解 `var a = 2;` 的执行顺序吗?

很多人学 JavaScript 的时候,写下 var a = 2; 的时候,心里只是想着“定义一个变量并赋值”,然后就继续写下去,完全没有意识到这一行代码背后,引擎、编译器和作用域三者正进行一场精密的

#前端 #JavaScript · 约 7 分钟
阅读全文
09
前端学习

🧬 深入理解 JavaScript 原型链:从对象创建到继承机制的全景透视

🚀 前言 JavaScript 中的对象与类系统建立在 原型链(Prototype Chain) 上。所有对象的属性查找和继承机制都离不开原型链的支持。虽然这个概念在大多数教程中被简单地理解为“对象继

#前端 · 约 9 分钟
阅读全文
10
前端学习

DOM 事件捕获与冒泡:一场被设计出来的分层通信协议

📌目录 浏览器事件模型的设计动机:一场分布式通信架构演化史 事件捕获与冒泡阶段的底层实现与执行栈原理 为什么“目标阶段”不提供独立监听? 事件委托的正确范式与性能陷阱 React / Vue 是如何劫

#前端 · 约 8 分钟
阅读全文
11
前端学习

🔬 深度解析:前端异步模型的本质机制与工程落点

你以为的“异步”,可能只是“异象” 很多人觉得异步模型是指 setTimeout、Promise、async/await 的执行顺序问题。但我们要讨论的是: 异步是如何调度的?

#前端 · 约 8 分钟
阅读全文
12
前端学习

JavaScript垃圾回收机制深度解析与内存管理艺术

JavaScript垃圾回收机制深度解析与内存管理艺术 一、内存管理基础架构 1.1 堆内存拓扑结构 JavaScript引擎采用分代式堆内存管理,V8引擎将堆划分为多个空间: 各空间采用不同内存页管

#前端 · 约 11 分钟
阅读全文
13
前端学习

重构版:JavaScript 的 new 操作符——从“黑箱仪式”到“亲手造物”的认知跃迁

一、打破黑箱:当我们执行 new Character() 时,究竟在举行什么仪式? 一个被忽视的恐怖场景: 这个经典错误暴露了 new 的核心作用:创建独立的作用域沙箱。没有 new,构造函数内的 t

#前端 #JavaScript · 约 9 分钟
阅读全文
14
前端学习

深入解析pnpm与npm:颠覆传统包管理的技术革命与应用实践

引言:被node_modules支配的恐惧 "你的node_modules有多大?"这个灵魂拷问总能引发开发者会心一笑。当项目规模达到500MB时,npm install需要喝三杯咖啡的时间;当依赖层

#前端 #JavaScript · 约 7 分钟
阅读全文
15
前端学习

闭包:JavaScript 中的隐形大杀器

你可能已经在很多地方听说过闭包这个词,尤其是涉及到 JavaScript 的作用域和异步操作时。闭包是 JavaScript 中非常核心的概念,然而它又非常容易让开发者感到困惑。今天我们就来深入剖析闭

#前端 #JavaScript · 约 5 分钟
阅读全文
16
前端学习

前端内存泄漏:你的JS代码在偷偷“吃”内存!

前端内存泄漏:你的JS代码在偷偷“吃”内存! 你有没有遇到过这样的问题:你的Web应用在刚启动时运行流畅,但使用一段时间后,变得越来越卡?任务管理器一打开,浏览器占用的内存高得离谱,就像一头无底洞的野

#前端 #JavaScript · 约 8 分钟
阅读全文
17
前端学习

前端虚拟列表的深入解析:如何用虚拟滚动拯救你的DOM性能

背景:为什么我们需要展示十万条数据? 在开发电商后台、订单管理系统或数据报表时,我们经常会遇到一个需求:展示超大规模的数据列表。 产品经理可能会说:“我们需要展示十万条订单数据,方便业务人员快速筛选和

#前端 #面试 · 约 9 分钟
阅读全文
18
前端学习

TypeScript 类型大揭秘:从灵活到严苛,每个类型背后的设计哲学

TypeScript 类型大揭秘:从灵活到严苛,每个类型背后的设计哲学 TypeScript 是一门静态类型语言,但它的类型系统并非一味强调“严苛”。在这个系统里,有些类型如 any、unknown、

#前端 #面试 · 约 8 分钟
阅读全文
19
前端学习

TypeScript 的“不变”哲学:从代码到工程化的深度探索

TypeScript 的“不变”哲学:从代码到工程化的深度探索 TypeScript 不仅是 JavaScript 的超集,更是前端工程化中的一把利器。const、readonly、枚举、常量枚举、接

#前端 #JavaScript #面试 · 约 8 分钟
阅读全文
20
前端学习

异步编程的“三角恋”:如何在 Promise、async/await 到 RxJS 中优雅地处理多个请求的依赖?

异步编程的“三角恋”:如何在 Promise、async/await 到 RxJS 中优雅地处理多个请求的依赖? 引言 在前端开发的日常工作中,处理多个异步请求是再常见不过的需求了。无论是从服务器获取

#JavaScript #前端 #面试 · 约 11 分钟
阅读全文
21
前端学习

小厂面试官让我用浏览器变魔术:一登录全通行?我差点把浏览器变没了!

引言 今天去了一家小厂面试,面试官居然给了我一个“神仙题”: “如何在同一个浏览器窗口下,只要登录一个网站(比如 a.com),其他网站(如 b.com 和 c.com)就能自动识别用户身份?” 我当

#前端 #面试 #JavaScript · 约 7 分钟
阅读全文
22
前端学习

从洗牌算法到前端工程化:如何用JavaScript实现真正的随机排序并应用到实际项目中

《从洗牌算法到前端工程化:如何用JavaScript实现真正的随机排序并应用到实际项目中》 正文: 1. 引言:为什么前端开发者需要关心随机排序? 想象一下,你正在开发一个电商网站,用户每次进入首页时

#前端 #JavaScript #面试 · 约 8 分钟
阅读全文
23
前端学习

Object.defineProperty 与 Proxy:谁才是 JavaScript 属性管理的 “终极 Boss”?

Object.defineProperty 与 Proxy:谁才是 JavaScript 属性管理的 “终极 Boss”? 引言:属性管理的 “华山论剑” 在前端的 “江湖” 里,JavaScript

#前端 #JavaScript #面试 · 约 13 分钟
阅读全文
24
前端学习

前端渲染风云:CSR 与 SSR 的深度较量

前端渲染风云:CSR 与 SSR 的深度较量 引言 在前端开发的广袤宇宙中,页面渲染犹如一颗璀璨而关键的星辰,它决定着用户与网页交互的第一体验,也深刻影响着网站在搜索引擎中的 “江湖地位”。其中,客户

#前端 #面试 · 约 15 分钟
阅读全文
25
前端学习

客官,准备好进入 JavaScript 的奇妙世界了吗?

客官,准备好进入 JavaScript 的奇妙世界了吗? 亲爱的客官,今天我们有一个充满悬念和挑战的 JavaScript 题目,带你穿越函数、原型、继承,甚至还要掌握如何在魔法世界中与 new 打交

#前端 · 约 18 分钟
阅读全文
26
前端学习

函数式编程:从理论到现实的深度解析

函数式编程:从理论到现实的深度解析 函数式编程(FP)自20世纪50年代以来一直是计算机科学中的一个重要领域。在过去的几年中,随着JavaScript、Scala、Elixir、Rust等语言的流行,

#前端 · 约 7 分钟
阅读全文
27
前端学习

揭秘数据传递与监听:从 JavaScript 到 Vue 的背后

揭秘数据传递与监听:从 JavaScript 到 Vue 的背后 1. 从 JavaScript 开始:传值与传地址的奥秘 在现代 JavaScript 开发中,理解传值与传地址之间的区别是非常重要的

#前端 · 约 9 分钟
阅读全文
28
前端学习

深入实现事件发布-订阅模式:从基础到优化

《深入实现事件发布-订阅模式:从基础到优化》 引言 在软件开发的世界中,随着应用程序规模的扩大,模块化、解耦和可扩展性变得尤为重要。事件驱动架构(Event-Driven Architecture,

#前端 · 约 10 分钟
阅读全文
29
前端学习

JavaScript 原型链的潜在“陷阱”:你知道多少?

JavaScript 原型链的潜在“陷阱”:你知道多少? 作为 JavaScript 开发者,你可能早已熟悉原型链的概念——它是我们理解继承和共享功能的基础。但,和所有神秘的技术一样,原型链不仅仅是个

#前端 · 约 7 分钟
阅读全文
30
前端学习

破解浏览器渲染“死锁”:CSS与JS如何影响页面加载速度

破解浏览器渲染“死锁”:CSS与JS如何影响页面加载速度? 在这个快速发展的Web世界里,性能是开发者们永恒的追求。当你打开一个网页,可能会注意到一些页面加载特别慢,甚至产生短暂的“白屏”,你有没有想

#前端 · 约 6 分钟
阅读全文
31
前端学习

异步世界的魔法:解密Promise中的“值穿透”,让你的异步控制更上一层楼

《异步世界的魔法:解密Promise中的“值穿透”,让你的异步控制更上一层楼》 你知道吗?在 JavaScript 的异步编程世界中,有一个让人又爱又恨的魔法——值穿透。这个魔法就像你在故事里找到的“

#前端 · 约 9 分钟
阅读全文
32
前端学习

JavaScript 执行上下文:一场代码背后的权谋与博弈

"JavaScript 执行上下文:一场代码背后的权谋与博弈" 假如 JavaScript 是一场王朝剧,那么执行上下文就是深藏幕后、操控全局的枢密院。变量、作用域、this,甚至你写的每一行代码,都

#前端 · 约 6 分钟
阅读全文
33
前端学习

从“偷懒神器”到“时空穿梭机”:揭开 ES6 对象扩展、Generator 与异步魔法的终极奥义

从“偷懒神器”到“时空穿梭机”:揭开 ES6 对象扩展、Generator 与异步魔法的终极奥义 在编程的世界中,ES6 为我们带来了多个令人惊叹的特性,这些特性不仅改变了我们编程的方式,还对我们如何

#前端 · 约 10 分钟
阅读全文
34
前端学习

CSS加载与页面阻塞:看似平凡,背后却藏着优化的艺术

CSS加载与页面阻塞:看似平凡,背后却藏着优化的艺术 引言:CSS阻塞?你所忽略的页面性能杀手! 你曾经是否在浏览器打开一个网页时,发现页面内容加载得有些慢?或者,你是否曾经听到过一句话:“CSS加载

#前端 · 约 7 分钟
阅读全文
35
前端学习

z-index 失效的真相:你可能忽视了这些关键细节!

z-index 失效的真相:你可能忽视了这些关键细节! 你是不是曾经遇到过这样一个糟心的场景:明明为元素设置了 z-index,却发现它依然“躺”在其他元素下方?这究竟是哪里出问题了?别担心,你不是唯

#前端 · 约 8 分钟
阅读全文
36
前端学习

CSS 布局的四大宗师:破解 BFC、IFC、GFC 和 FFC 的深层奥秘

《CSS 布局的四大宗师:破解 BFC、IFC、GFC 和 FFC 的深层奥秘》 在 CSS 的江湖中,布局问题犹如无形的桎梏,困扰着每一位前端开发者。有人为浮动塌陷而抓狂,有人被复杂的响应式布局逼得

#前端 · 约 8 分钟
阅读全文
37
前端学习

从卡顿到丝滑:揭秘 requestAnimationFrame 的魔力

从卡顿到丝滑:揭秘 requestAnimationFrame 的魔力 你有没有遇到过这样的场景:页面上的动画看起来不流畅,画面有时一跳一跳,甚至在你点击或滚动时也感觉迟钝。别担心,这不全是你的代码问

#前端 · 约 7 分钟
阅读全文
38
前端学习

一探究竟:如何高效提取ULL中的当前参数,实现性能与精度的完美平衡

一探究竟:如何高效提取ULL中的当前参数,实现性能与精度的完美平衡 你是否在开发过程中,遇到过那些复杂的、动态变化的URL?每次需要从中提取参数时,你的代码是不是开始变得杂乱无章,难以维护?特别是在单

#前端 · 约 7 分钟
阅读全文
39
前端学习

玩转随机数:用 JavaScript 掌控不可预测的魔力!

玩转随机数:用 JavaScript 掌控不可预测的魔力! 当计算机遇上“随机”,我们能做什么? 你曾想过在生活中拥有“超能力”吗?比如,可以预测下一个天气变化,或是猜中下一个彩票号码?虽然我们无法真

#前端 · 约 5 分钟
阅读全文
40
前端学习

JavaScript 数组去重:告别重复,打造完美数据!

JavaScript 数组去重:告别重复,打造完美数据! 有没有遇到过这样的困扰:你处理的数据中,明明是几百条记录,却有很多完全重复的元素,冗余的数据让人头疼!如果你正在为此烦恼,别担心,今天我们将带

#前端 · 约 4 分钟
阅读全文
41
前端学习

秒懂 JavaScript:用 unshift() 改变数组,从零开始手撕实现!

JavaScript 数组操作中,有一个看似简单却非常强大的方法——unshift() 。它能帮助我们将元素添加到数组的开头,简单高效,让数组操作更灵活。然而,这个小小的函数背后,却隐藏着许多值得探索

#前端 · 约 5 分钟
阅读全文
42
前端学习

JavaScript宝典下

ES6问题总结 1、let和const和var的区别 (1)块级作用域: 块作用域由 { }包括,let和const具有块级作用域,var不存在块级作用域。块级作用域解决了ES5中的两个问题: 内层变

#前端 · 约 185 分钟
阅读全文
43
前端学习

JavaScript宝典上

1、JavaScript有哪些数据类型,说一下他们的区别。 JavaScript共有八种数据类型,分别是 Undefined、Null、Boolean、Numbe

#前端 · 约 61 分钟
阅读全文
44
前端学习

CSS宝典

今日小哆啦提笔,将闭关期间整理的CSS宝典略作总结,与诸位共赏。此番分享,虽不敢言妙笔生花,但聊胜于空谈胡诌,且看能否在欢笑中助尔等拨开前端迷雾!

#前端 #JavaScript · 约 62 分钟
阅读全文
45
前端学习

HTML宝典

小哆啦闭关修炼已久,潜心攻读专业秘技,方才下山考研本欲大展宏图,怎奈山河虽壮志难酬,终是觉察考研无望。思来想去,不若弃考研之念,重拾敲代码之道,复盘前端奇术,以备闯荡职场江湖。

#前端 · 约 12 分钟
阅读全文
46
前端学习

深入学习TS

一、基础类型 TypeScript 的基础类型包括布尔值、数字、字符串、数组、元组、枚举、任意值、空值、Null、Undefined、Never、以及类型断言。 类型 描述 用法和示例 布尔值 表示逻

#前端 #面试 · 约 54 分钟
阅读全文
47
前端学习

Vue2——全局API复习

前段时间,小哆啦在工作之余,总感觉`vue`会用还是不是很了解,于是小哆啦决定总结一波,来深度复习一下。复习完之后小哆啦也会跟着大佬去学习`vue`的源码分析,在总结的时候小哆啦也尽量去理解大佬的设计

#前端 #JavaScript #Vue.js · 约 50 分钟
阅读全文
48
前端学习

一文梳理BOM

BOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是 window。 BOM 由一系列相关的对象构成,并且每个对象都提供了很

#前端 #JavaScript · 约 21 分钟
阅读全文
49
前端学习

深入学习DOM

小哆啦在面试的时候有一次被问到`DOM` 由于经常使用框架开发,导致`DOM`有点遗忘,然后呢就总结一下常用的DOMAPI。

#前端 #JavaScript · 约 123 分钟
阅读全文
50
前端学习

深入学习 js Object API

object常用的API 思维导图 大纲 方法 返回类型 ECMAScript 版本 描述 Object.assign() 对象 ES6 将一个或多个源对象的所有可枚举属性的值复制到目标对象中。 Ob

#前端 #面试 · 约 96 分钟
阅读全文
51
前端学习

深入学习数组API

前几天小哆啦总结了字符串常用的`api`,忽然小哆啦想到作为一名前端攻城狮数组的`api`必须得多多了解顺便就总结一下数组中常用的方法,如果有什么不对的地方期待大家批评指正。

#前端 · 约 80 分钟
阅读全文
52
前端学习

JavaScript 常用设计模式(一)

JavaScript 常用设计模式 一、构造器模式 构造器模式(Constructor Pattern)是一种常见的设计模式,用于创建对象。它在JavaScript中广泛使用,特别是在创建自定义对象和

#前端 #JavaScript · 约 41 分钟
阅读全文
53
前端学习

一文学会JavaScript 字符串API

字符串常用方法 先看思维导图 1、 获取字符串长度 JavaScript中的字符串有一个length属性,该属性可以用来获取字符串的长度:(这个很简单,大家经常使用)z` 2、获取字符串指定位置的值

#前端 #面试 · 约 30 分钟
阅读全文
54
前端学习

事件冒泡、事件捕获和事件委托

今天小哆啦的舍友问了一个关于事件的问题,小哆啦发现自己不是特别清楚特别明白,然后小哆啦就恶补了一下知识点,今天咱们就一起来深入了解一下。

#前端 #JavaScript · 约 14 分钟
阅读全文
55
前端学习

call 、bind、apply以及this的理解

先念口诀:箭头函数、new、bind、apply 和 call、欧比届点(obj.)、直接调用、不在函数里。按照口诀的顺序,只要满足前面某个场景,就可以确定 this 指向了

#前端 #JavaScript · 约 29 分钟
阅读全文
56
前端学习

实现顶部100px的盒子高度自适应布满浏览器页面

实现顶部100px的盒子高度自适应布满浏览器页面 1.flex 布局 忽然小哆啦就有问题就来了 2.calc()函数 今天就分享到这里啦,还有其他实现方式的可以评论区见:cake:

#前端 #面试 · 约 10 分钟
阅读全文
57
前端学习

理解函数柯里化

理解函数柯里化 高阶函数 1. 接受函数作为参数 高阶函数可以接受一个或多个函数作为参数。这样的函数通常用于执行传入的函数,或者基于传入的函数执行一些逻辑。例如: 2. 返回函数(闭包) 高阶函数可以

#前端 #JavaScript · 约 18 分钟
阅读全文
58
前端学习

React基础

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天 React基础 React介绍 目标任务: 了解什么是React以及它的特点 React是什么 ​

#青训营笔记 · 约 84 分钟
阅读全文
59
前端学习

HTTP协议简介

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天 HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒

#青训营笔记 · 约 18 分钟
阅读全文
60
前端学习

什么是JSX

这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天 什么是JSX JSX是JavaScript XML,是React提供的Syntax Sugar, 能让我们可以在JS中写html标记语言。

#青训营笔记 · 约 10 分钟
阅读全文
61
前端学习

Typescript笔记

ts笔记-类型系统 在ts中,类型系统被设计为可选的,因此可以认为js就是没有类型声明的ts。

#青训营笔记 · 约 8 分钟
阅读全文
62
前端学习

JavaScript 代码规范

JavaScript 代码规范 这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天 设计原则: 1.原子思想:即每个function就做一件事; 2.归纳思想:将同一类的操作,全部整合到一起;

#青训营笔记 · 约 10 分钟
阅读全文
63
前端学习

青训营第一天笔记

青训营第一天笔记 这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天 选择器优先级 当两个规则都作用到了同一个html元素上时,如果定义的属性有冲突,那么应该用谁的值的,CSS有一套优先级的定义

#青训营笔记 · 约 6 分钟
阅读全文