我从来不理解JavaScript闭包,直到有人这样向我解释它...
摘要: 理解JS闭包。 原文:我从来不理解JavaScript闭包,直到有人这样向我解释它... 作者:前端小智 Fundebug经授权转载,版权归原作者所有。 正如标题所述,JavaScript闭包对我来说一直有点神秘,看过很多闭包的文章,在工作使用过闭包,有时甚至在项目中使用闭包,但我确实是这是在使用闭包的知识。 最近看国外的一些文章,终于,有人用于一种让我明白方式对闭包进行了解释,我将在本文中尝试使用这种方法来解释闭包。 准备 在理解闭包之前,有个重要的概念需要先了解一下,就是 js 执行上下文。 这篇文章是执行上下文 很不错的入门教程,文章中提到: 当代码在JavaScript中运行时,执行代码的环境非常重要,并将概括为以下几点: 全局代码——第一次执行代码的默认环境。 函数代码——当执行流进入函数体时。 (…) —— 我们当作 执行上下文 是当前代码执行的一个环境与范围。 换句话说,当我们启动程序时,我们从全局执行上下文中开始。一些变量是在全局执行上下文中声明的。我们称之为全局变量。当程序调用一个函数时,会发生什么? 以下几个步骤: JavaScript创建一个新的执行上下文...




