diff --git a/files/zh-cn/web/javascript/closures/index.md b/files/zh-cn/web/javascript/closures/index.md index 3f33f31c0230ca..87239c271feb99 100644 --- a/files/zh-cn/web/javascript/closures/index.md +++ b/files/zh-cn/web/javascript/closures/index.md @@ -78,7 +78,7 @@ myFunc(); 第一眼看上去,也许不能直观地看出这段代码能够正常运行。在一些编程语言中,函数内的局部变量仅存在于函数的执行期间。一旦 `makeFunc()` 执行完毕,你可能会认为 `name` 变量将不能再被访问。然而,因为代码仍按预期运行,所以在 JavaScript 中情况显然与此不同。 -原因在于,JavaScript 中的函数创建了闭包。 *闭包*是由函数以及函数声明所在的词法环境组合而成的。该环境包含了这个闭包创建时作用域内的任何局部变量。在本例中,`myFunc` 是执行 `makeFunc` 时创建的 `displayName` 函数的实例引用。`displayName` 的实例有一个它的词法环境的引用,而 `name` 变量位于这个词法环境中。因此,当 `myFunc` 被调用时,`name` 变量仍然可用,其值 `Mozilla` 就被传递到`console.log`中。 +原因在于,JavaScript 中的函数创建了闭包。 *闭包*是由函数以及函数声明所在的词法环境组合而成的。该环境包含了这个闭包创建时作用域内的任何局部变量。在本例中,`myFunc` 是执行 `makeFunc` 时创建的 `displayName` 函数的实例引用。`displayName` 的实例有一个它的词法环境的引用,而 `name` 变量位于这个词法环境中。因此,当 `myFunc` 被调用时,`name` 变量仍然可用,其值 `Mozilla` 就被传递到 `console.log` 中。 下面是一个稍微更有意思的示例——一个 `makeAdder` 函数: