为什么有的函数要用 call,有的却完全不用?
——从 this 设计本质理解 JavaScript 方法分类 在学习 JavaScript 的过程中,很多人都会卡在一个问题上: 更进一步的问题是: 本文将从设计层面而不是“记规则”的角度,彻底解释
该标签下已收录 45 条沉淀(45 篇文稿)
——从 this 设计本质理解 JavaScript 方法分类 在学习 JavaScript 的过程中,很多人都会卡在一个问题上: 更进一步的问题是: 本文将从设计层面而不是“记规则”的角度,彻底解释
本文以风趣的笔调讲解 React Fiber 架构,结合代码与图示,深入解析 Fiber 的链表结构、三指针关系及可中断更新机制,帮助读者理解 React 如何实现高效的任务调度与渲染流程。
参考:《React 技术揭秘》 by 卡颂 一、前言:React,不只是“快” React 团队做架构升级,从来不是为了单纯的“更快”。 如果只是性能,他们完全可以优化 reconc
一、React15:一个“全力以赴但不会刹车”的系统 React15 的架构只有两层: 🧩 Reconciler(协调器) :负责计算哪些组件要更新; 🖼️ Renderer(渲染器) :把更新同步到
一、开场:今天我们聊点“时间的事” 大家好,我是小dora。 今天咱们不讲API、不贴文档,而是聊聊 React 背后那件“看不见的事”——它是怎么让时间为UI服务的。 你可能听过 React 的官方
——小Dora 的 JavaScript 修炼日记 · Day 9 🗂 目录 Map 与 WeakMap:表面区别 vs 内存差距 什么是弱引用?为什么 WeakMap 是弱引用? V8 内存结构:堆
🌀 小Dora 的 JS 修炼日记 · Day 7 🌟 开篇:四大函数机制是怎么被 JS 引擎执行的? new:你以为只是创建对象?其实背后隐藏了 V8 的 Hidden Class 分配 + 构造绑
🌀 小Dora 的 JS 修炼日记 · Day 6 🍵 一、前情提要:JS 为啥搞异步? JavaScript 天生是单线程的。啥意思?就是说它一心只能做一件事。 但现实世界太残酷:网络请求慢、I/O
——小Dora 的 JavaScript 修炼日记 · Day 5 前几日你学了作用域、上下文、闭包…… 今天要解封的,是 JavaScript 的江湖绝学: 🌀 原型 & 原型链 这不是江湖新词,它
小Dora 的 JavaScript 修炼日记 · Day 4 🧨 前言:闭包不是语法糖,而是作用域的灵魂延续 闭包是 JS 世界的“神秘武器”,它能穿越函数的生命周期、记住那些早该释放的变量,让你:
——小Dora 的 JavaScript 修炼日记 · Day 3 🐒 一、为什么你总是搞不清 this? 因为 JS 的 this 绑定机制像极了感情世界: 有时候你以为它属于你,其实它根本不认识你
昨天我们和 var / let / const 三兄弟斗了个昏天暗地,*你写的代码到底是怎么一步步运行的?谁能访问谁?变量从哪儿冒出来?为什么闭包能穿越时间的缝隙记住变量?
🚧 开场:把你困住的误解先拆了 你是不是也以为: 答案是——不是!不是!真的不是! 让我们用这篇文章,从「误解」出发,到「掌握精髓」收官,完成一次技术脑内革命! 🏷️ 一、reduce 是什么?——数
今天是小Dora正式踏入 JavaScript 的第一天,目标明确:未来成为一名**高级前端工程师**。第一关,就是打通【变量声明】这座看似简单、实则杀机重重的迷宫。
🧠 一、什么是 this? 在 JavaScript 中,this 是一种运行时绑定,它代表的是函数被调用时的上下文对象。 不是定义位置、不是写在哪儿的对象、不是函数自己。 只有一个真理: 🧭 二、t
大文件上传,其实是前端对异步编程掌控力的一次深水区测试。 你以为只是拖个文件框、调个接口而已? 真到了项目里,面对几个 G 的文件,老板一句话: > “不能卡、要能重传、并发别炸服务器、还能暂停”,
JavaScript 中的 for...in 和 for...of,名字像,功能却天差地别。 混用?代码能跑但极易出 bug。 想记住?咬牙背十次不如一次理解 + 巧记 + 联想。 本篇一文到底,帮你
🧭 前言:你写功能,他们在聊“系统扛不住了” 身为一名前端,你也许每天写的最多的词是 onClick,提 PR 最多的改动是“按钮颜色和边距”。 可就在你写按钮时,身后的后端小哥和运维师傅经常蹙眉低语
🍿 一、三兄弟登场:不同对象,不同任务 名称 作用对象 是否修改原对象 返回类型 功能简述 splice 数组 ✅ 是 被删除元素数组 原地删除元素并可插入新元素 slice 数组 / 字符串 ❌ 否
引言 JavaScript 作用域规则并非只是“变量在哪定义就在哪有效”这么简单。真正的理解要深入到 V8 引擎是如何在底层解析、构建、优化和执行这些作用域的。本文将从词法作用域的编译期构建、执行上下
很多人学 JavaScript 的时候,写下 var a = 2; 的时候,心里只是想着“定义一个变量并赋值”,然后就继续写下去,完全没有意识到这一行代码背后,引擎、编译器和作用域三者正进行一场精密的
一、打破黑箱:当我们执行 new Character() 时,究竟在举行什么仪式? 一个被忽视的恐怖场景: 这个经典错误暴露了 new 的核心作用:创建独立的作用域沙箱。没有 new,构造函数内的 t
引言:被node_modules支配的恐惧 "你的node_modules有多大?"这个灵魂拷问总能引发开发者会心一笑。当项目规模达到500MB时,npm install需要喝三杯咖啡的时间;当依赖层
你可能已经在很多地方听说过闭包这个词,尤其是涉及到 JavaScript 的作用域和异步操作时。闭包是 JavaScript 中非常核心的概念,然而它又非常容易让开发者感到困惑。今天我们就来深入剖析闭
前端内存泄漏:你的JS代码在偷偷“吃”内存! 你有没有遇到过这样的问题:你的Web应用在刚启动时运行流畅,但使用一段时间后,变得越来越卡?任务管理器一打开,浏览器占用的内存高得离谱,就像一头无底洞的野
《JavaScript高级程序设计》——第四章:变量、作用域与内存管理 大家好!我是小哆啦,欢迎回到《JavaScript高级程序设计》的读书笔记大本营!在这章中,我们要聊的是两个让人头疼又迷人的话题
TypeScript 的“不变”哲学:从代码到工程化的深度探索 TypeScript 不仅是 JavaScript 的超集,更是前端工程化中的一把利器。const、readonly、枚举、常量枚举、接
JavaScript 高级程序设计 读书笔记(第三章) 第三章:基本概念的深度探索 在 JavaScript 的世界里,第三章的内容可以说是奠基石,它决定了你对这门语言的基本理解。如果你曾经因为 nu
异步编程的“三角恋”:如何在 Promise、async/await 到 RxJS 中优雅地处理多个请求的依赖? 引言 在前端开发的日常工作中,处理多个异步请求是再常见不过的需求了。无论是从服务器获取
引言 今天去了一家小厂面试,面试官居然给了我一个“神仙题”: “如何在同一个浏览器窗口下,只要登录一个网站(比如 a.com),其他网站(如 b.com 和 c.com)就能自动识别用户身份?” 我当
《从洗牌算法到前端工程化:如何用JavaScript实现真正的随机排序并应用到实际项目中》 正文: 1. 引言:为什么前端开发者需要关心随机排序? 想象一下,你正在开发一个电商网站,用户每次进入首页时
Object.defineProperty 与 Proxy:谁才是 JavaScript 属性管理的 “终极 Boss”? 引言:属性管理的 “华山论剑” 在前端的 “江湖” 里,JavaScript
小哆啦探秘《JavaScript 高级程序设计》:开启网页魔法初体验 今天小哆啦翻开了《JavaScript 高级程序设计》这本书,本以为会是一场枯燥的知识 “苦旅”,没想到第一章和第二章就像打开了一
1. 边框法: 使用一个具有透明边框的元素,并隐藏不需要的边框,以形成一个三角形。 2. 伪元素法: 使用:before或:after伪元素来创建三角形。 3. CSS3 clip-path: 使用c
前段时间,小哆啦在工作之余,总感觉`vue`会用还是不是很了解,于是小哆啦决定总结一波,来深度复习一下。复习完之后小哆啦也会跟着大佬去学习`vue`的源码分析,在总结的时候小哆啦也尽量去理解大佬的设计
BOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是 window。 BOM 由一系列相关的对象构成,并且每个对象都提供了很
JavaScript 常用设计模式 一、构造器模式 构造器模式(Constructor Pattern)是一种常见的设计模式,用于创建对象。它在JavaScript中广泛使用,特别是在创建自定义对象和
先念口诀:箭头函数、new、bind、apply 和 call、欧比届点(obj.)、直接调用、不在函数里。按照口诀的顺序,只要满足前面某个场景,就可以确定 this 指向了
理解函数柯里化 高阶函数 1. 接受函数作为参数 高阶函数可以接受一个或多个函数作为参数。这样的函数通常用于执行传入的函数,或者基于传入的函数执行一些逻辑。例如: 2. 返回函数(闭包) 高阶函数可以
JS的基本数据类型和引用数据类型内存存储 栈和堆的特点和区别 栈(stack) :栈会自动分配内存空间,会自动释放,存放基本类型和引用数据类型的变量 所有在函数/方法中定义的变量都是放在栈内存中。
Stay Connected via Open RSS
「不错过每一纸书。」通过开放标准的 RSS / Atom 协议,零算法追踪、无广告干扰,在任意阅读器中自由订阅本站的最新深度技术解析。
Letters & Conversation · dorabighead
无论是关于技术长文推演、系统设计探讨、勘误指正,还是纯粹的生活碎念共鸣,都非常欢迎随时来信。通常会在 24 小时内亲启并真诚回复。
愿你的每一份心意与鼓励,都能化作深耕技术底层、推敲文字细节的温暖动力。
微信扫一扫 · 随心支持