Table of Contents
理解关闭和范围对于写入高效的JavaScript代码至关重要。这些概念影响变量如何在函数和块内访问和维护。本文用实例来解释这些想法。
JavaScript 中的范围
范围决定了代码内可访问变量的所在. JavaScript 具有两大类型的范围: 环球和本地。 任何函数外声明的变量是环球的, 而那些在内部声明的函数是本地的, 与该函数相适应的 。
以ES6引入的块范围适用于以和]声明的变量。这些变量只有在其定义的块内,如支架内,才能访问。
理解结束
当一个函数保留了对外部范围的变量的访问,即使外部函数已完成执行,关闭也会发生。这样函数就可以“记住”创建变量的环境。
关闭对于数据封装和创建私有变量是有用的,当函数被定义在其他函数内部,返回或分配到变量时,它们自然形成.
实例
考虑一个简单的计数器功能,使用关闭来维持其计数:
代码示例:]
函数创建 Counter () {
允许计数=0;
返回函数 () {
返回函数++;[
返回计数;
};
}}
const计数器 = 创建Counter (); [[FLT: 0]] consember.log(counter ()); /// 1
compet.log(counter ()); /// 2
内 容 提 要
理解范围有助于管理变量的可访问性,而关闭则可以使函数保存状态。这些概念共同是写出有效的JavaScript代码的根本。