From 8a2c746996407c66155ab7b2c1457ef99b16ccd7 Mon Sep 17 00:00:00 2001 From: ruanyf Date: Wed, 31 May 2017 20:54:06 +0800 Subject: [PATCH] docs(let): edit let --- docs/let.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/let.md b/docs/let.md index 7c42ed9..b46ae13 100644 --- a/docs/let.md +++ b/docs/let.md @@ -57,7 +57,7 @@ a[6](); // 6 上面代码中,变量`i`是`let`声明的,当前的`i`只在本轮循环有效,所以每一次循环的`i`其实都是一个新的变量,所以最后输出的是`6`。你可能会问,如果每一轮循环的变量`i`都是重新声明的,那它怎么知道上一轮循环的值,从而计算出本轮循环的值?这是因为 JavaScript 引擎内部会记住上一轮循环的值,初始化本轮的变量`i`时,就在上一轮循环的基础上进行计算。 -另外,`for`循环还有一个特别之处,就是循环语句部分是一个父作用域,而循环体内部是一个单独的子作用域。 +另外,`for`循环还有一个特别之处,就是设置循环变量的那部分是一个父作用域,而循环体内部是一个单独的子作用域。 ```javascript for (let i = 0; i < 3; i++) { @@ -69,7 +69,7 @@ for (let i = 0; i < 3; i++) { // abc ``` -上面代码输出了3次`abc`,这表明函数内部的变量`i`和外部的变量`i`是分离的。 +上面代码输出了3次`abc`,这表明函数内部的变量`i`不同于循环变量`i`,有自己单独的作用域。 ### 不存在变量提升