avatar
Articles
59
Tags
41
Categories
8
首页
文章
生活
项目
关于
我做开发那些年
Search
首页
文章
生活
项目
关于

闭包,作用域

别再被闭包 “绕晕”!3 分钟搞懂定义、形成与实战作用
Created2025-08-14
闭包,算得上是JavaScript中的一个难点,在面试时也被时常提及。 多年前的一次面试,被问及闭包时,那种脑子里一团乱麻的感觉,至今依然清晰。 本文力求以简单移动柜的语言,彻底讲清楚闭包,让读者在日后的面试和工作中,少走一些弯路,少掉一些头发。 什么是闭包?要讲清楚闭包,那么我们首先得了解闭包是什么。为此,我翻阅许多资料收集了其中关于闭包的定义: 《JavaScript权威指南(第六版)》: 函数对象可以通过作用域链相互关联起来,函数体内部的变量都可以保存在函数作用域内,这种特性在计算机科学文献中称之为“闭包”。 《JavaScript 高级程序设计》: 闭包指的是那些引用了另外一个函数作用域中变量的函数,通常是嵌套在函数中实现的。 《你不知道的JavaScript》: 函数可以记住并访问所在词法作用域,即使函数实在当前词法作用域之外执行,这就产生了闭包。 MDN: 闭包是由捆绑起来(封闭的)的函数和函数周围状态(词法环境)引用组合而成,闭包让函数能够访问它的外部作用域。 好嘛,真是一看一个不吱声,根本没有一个统一的定义。有的说闭包是特性,有的直说是怎么形成的,各...
avatar
jvxiao
全栈前端开发者 | Vue & Node.js
Articles
59
Tags
41
Categories
8
Follow Me
Recent Posts
张雪峰离世的背后:当“人生导师”输给身体,我们该反思什么2026-03-26
虚拟 DOM 要凉了?Vue 3.6 Vapor Mode 凭什么颠覆前端性能?2026-02-02
Cursor 封神,Trae 免费,Claude Code 扫地2026-01-29
面试被问HTTP请求头?别慌,这篇“大白话”带你稳过!2026-01-27
HTTP 与 HTTPS:一字之差,安全性有何天壤之别?2026-01-24
Categories
  • ES6进阶11
  • Vue11
  • Vue源码阅读1
  • Web开发9
    • 网络安全1
  • life1
  • 小程序开发1
  • 搭建博客4
Tags
Web开发,JQuery 组件 Web开发 微信小程序 闭包,作用域 Vuex Javascript Node安装 Session JavaScript进阶 Map 博客搭建 Array 对象存储 随笔 小程序 前端开发 Vue JavaScript Set React MVVM 微信云 Vite Vue, JavaScript进阶 Pinia Proxy 源码阅读 程序人生 生活 Token error 依赖收集 packages 个人IP 前端进阶 守护进程 JavaScript进阶, ES6进阶 npm Node
Archives
  • March 2026 1
  • February 2026 1
  • January 2026 11
  • December 2025 19
  • October 2025 3
  • September 2025 2
  • August 2025 4
  • July 2025 5
Website Info
Article Count :
59
Total Word Count :
96.4k
Unique Visitors :
Page Views :
Last Update :
© 2025 - 2026 By jvxiaoFramework Hexo 7.3.0|Theme Butterfly 5.5.4
Search
Loading Database