JavaScript 函数与作用域

JavaScript 函数与作用域

围绕函数定义、参数传递和返回值,整理作用域链、闭包、箭头函数与回调函数的联系。结合构造函数、高阶函数和函数式编程场景,帮助读者理解变量访问范围、上下文绑定及闭包保存状态时的常见误区。

50 条内容添加时间:2026-11-04浏览量:186
为什么写了函数还报ReferenceError?解析JS作用域与变量提升

深入解析在JavaScript中定义了函数却仍然抛出ReferenceError的核心原因,剖析词法作用域、变量提升机制与暂时性死区(TDZ),并提供清晰的故障排查决策流程与防御性编码规范。

为什么写了函数还报ReferenceError?解析JS作用域与变量提升
JavaScript递归函数编写技巧与尾调用优化

深入解析JavaScript递归函数的执行机制与调用栈模型,详述基准条件与收敛设计技巧,对比普通递归与尾递归的累加器转换,剖析ES6尾调用优化原理与现代引擎支持现状,并提供蹦床函数及显式堆栈等生产级防爆栈解决方案。

JavaScript递归函数编写技巧与尾调用优化
11.04603 浏览异步漫步
JS闭包导致内存泄漏的原因及手动释放优化方法

深入解析JavaScript闭包引发内存泄漏的底层机理,剖析可达性分析算法、V8共享上下文陷阱与事件监听等典型场景,提供变量显式置空、生命周期解绑、WeakMap弱引用等工程化手动释放优化方案与DevTools实操排查步骤。

JS闭包导致内存泄漏的原因及手动释放优化方法
11.04528 浏览函数茶馆
怎么用JS解构赋值简化函数参数传递?

深入讲解如何使用 JavaScript 对象与数组解构赋值简化函数参数传递,消除位置参数依赖,优雅处理默认值、别名与配置透传,提升前端代码的可读性与健壮性。

怎么用JS解构赋值简化函数参数传递?
怎么使用JS闭包实现函数防抖与节流

深入讲解如何使用JavaScript闭包的私有变量驻留特性实现函数防抖(Debounce)与节流(Throttle),结合时序图解、完整手写代码与业务选型指南,彻底解决高频事件性能瓶颈。

怎么使用JS闭包实现函数防抖与节流
11.04397 浏览闭包旅人
手写 JavaScript 节流和防抖函数代码实现

深入浅出讲解 JavaScript 节流(throttle)与防抖(debounce)的核心原理。提供从基础版闭包实现到支持立即执行、尾部保留、取消能力的生产级完整手写代码。

手写 JavaScript 节流和防抖函数代码实现
JS立即执行函数的几种常见写法与格式规范

本文系统解析JavaScript立即执行函数(IIFE)的核心原理、语法推导、5种常见写法、传参和返回值机制,以及自动分号补全(ASI)陷阱与工程格式规范。

JS立即执行函数的几种常见写法与格式规范
11.03432 浏览青柠
什么是JavaScript回调函数?作为参数传递的实际案例

深入浅出解析JavaScript回调函数的底层机制与运作原理,详解函数作为参数传递的逻辑,结合数组处理、事件监听与异步模拟等实战案例,帮助开发者彻底掌握回调函数的用法及避坑指南。

什么是JavaScript回调函数?作为参数传递的实际案例
11.03553 浏览青柠
解决 JS for 循环中 setTimeout 索引输出错误的闭包问题

全面解析 JavaScript 中 for 循环搭配 setTimeout 时索引变量全部输出同一个数值的根本成因,深入剖析事件循环、var 变量提升与闭包共享引用的底层机制,并提供包括 let 块级作用域、立即执行函数 (IIFE)、setTimeout 附加参数与 bind 绑定等四种可落地的完整解决方案与代码对比。

解决 JS for 循环中 setTimeout 索引输出错误的闭包问题
11.03190 浏览闭包旅人
彻底搞懂JavaScript闭包:从作用域链到内存泄漏排查

深入解析JavaScript闭包的核心底层机制,从词法作用域、执行上下文、[[Scopes]]作用域链寻址,到闭包内存模型与Chrome DevTools堆快照内存泄漏排查全流程。

彻底搞懂JavaScript闭包:从作用域链到内存泄漏排查
彻底搞懂JavaScript中的this指向:普通函数与箭头函数的绑定规则

深入解析JavaScript中this关键字的底层绑定规则,系统对比普通函数四种调用规则的优先级,以及箭头函数词法作用域的穿透原理与典型避坑场景。

彻底搞懂JavaScript中的this指向:普通函数与箭头函数的绑定规则
11.03353 浏览拾光
JavaScript函数参数默认值与解构赋值用法

深入解析JavaScript中函数参数默认值与解构赋值的结合用法,剖析形参严格绑定机制、惰性求值特性、双重默认值防御性编程设计及工程避坑指南。

JavaScript函数参数默认值与解构赋值用法
11.03198 浏览木棉