如何快速掌握 JavaScript 闭包的精髓?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1550个文字,预计阅读时间需要7分钟。
闭包,是JavaScript中一个比较重要的概念,对于初学者来说,是一个特殊且抽象的概念。闭包是由ECMAScript规范定义的一种特性,它允许函数访问并操作其外部作用域中的变量。如果没有实际操作经验,理解闭包的定义和作用可能会比较困难。因此,本文不会深入探讨闭包的细节。
闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是 ECMAScript 规范给的定义,如果没有实战经验,很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟理解闭包!
闭包,一睹为快在接触一个新技术的时候,我首先会做的一件事就是找它的 demo。对于我们来说,看代码比自然语言更能理解一个事物的本质。其实,闭包无处不在,比如:jQuery、zepto的核心代码都包含在一个大的闭包中,所以下面我先写一个最简单最原始的闭包,以便让你在大脑里产生闭包的画面:
function A(){ function B(){ console.log('Hello Closure!'); } return B; } var C = A(); C();// Hello Closure!
这是最简单的闭包。
有了初步认识后,我们简单分析一下它和普通函数有什么不同,上面代码翻译成自然语言如下:
- 定义普通函数 A
- 在 A 中定义普通函数 B
- 在 A 中返回 B
- 执行 A,并把 A 的返回结果赋值给变量 C
- 执行 C
把这5步操作总结成一句话就是:
函数A的内部函数B被函数A外的一个变量 c 引用。
本文共计1550个文字,预计阅读时间需要7分钟。
闭包,是JavaScript中一个比较重要的概念,对于初学者来说,是一个特殊且抽象的概念。闭包是由ECMAScript规范定义的一种特性,它允许函数访问并操作其外部作用域中的变量。如果没有实际操作经验,理解闭包的定义和作用可能会比较困难。因此,本文不会深入探讨闭包的细节。
闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是 ECMAScript 规范给的定义,如果没有实战经验,很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟理解闭包!
闭包,一睹为快在接触一个新技术的时候,我首先会做的一件事就是找它的 demo。对于我们来说,看代码比自然语言更能理解一个事物的本质。其实,闭包无处不在,比如:jQuery、zepto的核心代码都包含在一个大的闭包中,所以下面我先写一个最简单最原始的闭包,以便让你在大脑里产生闭包的画面:
function A(){ function B(){ console.log('Hello Closure!'); } return B; } var C = A(); C();// Hello Closure!
这是最简单的闭包。
有了初步认识后,我们简单分析一下它和普通函数有什么不同,上面代码翻译成自然语言如下:
- 定义普通函数 A
- 在 A 中定义普通函数 B
- 在 A 中返回 B
- 执行 A,并把 A 的返回结果赋值给变量 C
- 执行 C
把这5步操作总结成一句话就是:
函数A的内部函数B被函数A外的一个变量 c 引用。

