ECMA-262-3 详解:6、闭包

2020-08-03 17:57:05 浏览数 (1)

从来没有深入了解ECMA,网上找了一下,发现早在2010年就有大佬 Dmitry Soshnikov[1] 总结了ECMA中的核心内容,我这里只是翻译记录,加深自己的印象。文章原文来自 ECMA-262-3 in detail. Chapter 6. Closures.[2]

介绍

这篇文章中,我们将要讨论与Javascript相关的讨论最多的主题之一 — 关于闭包。这个主题 — 事实上 — 不是新的,而是被讨论很多次了的。但是我们将尝试从理论的角度来讨论并且了解它,也会看看在ECMAScript中闭包是怎么实现的。

建议先阅读之前关于作用域链与变量对象的两章,因为这一章中我们将使用到之前提到的主题。

一般理论

在直接讨论ECMAScript闭包之前,有必要从函数式编程的一般理论中指定一些定义。

众所周知,函数式语言(ECMAScript支持这种范例与格式)中,函数是数据,他们可以赋值给变量,作为参数传递给其他函数,作为函数的返回为等等。这些函数有特殊的名字与结构。

定义

❝函数是参数(Funarg) — 是一个值是函数的参数。 ❞

举个

0 人点赞