Skip to content

Commit 6fae5b1

Browse files
committed
edit let
1 parent 73e5815 commit 6fae5b1

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

docs/async.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,7 @@ function co(gen) {
605605
}
606606
```
607607

608-
接着,co将Generator函数的内部指针对象的next方法,包装成onFulefilled函数。这主要是为了能够捕捉抛出的错误。
608+
接着,co将Generator函数的内部指针对象的next方法,包装成onFulfilled函数。这主要是为了能够捕捉抛出的错误。
609609

610610
```javascript
611611
function co(gen) {

docs/generator.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ function* foo(x, y) { ··· }
6666
function*foo(x, y) { ··· }
6767
```
6868

69-
由于Generator函数仍然是普通函数,所以一般的写法是上面的第三种,即星号紧跟在`function`关键字后面。本书也采用这种写法/
69+
由于Generator函数仍然是普通函数,所以一般的写法是上面的第三种,即星号紧跟在`function`关键字后面。本书也采用这种写法。
7070

7171
### yield语句
7272

docs/let.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ for (var i = 0; i < 10; i++) {
4141
a[6](); // 10
4242
```
4343

44+
上面代码中,变量`i``var`声明的,在全局范围内都有效。所以每一次循环,新的`i`值都会覆盖旧值,导致最后输出的是最后一轮的`i`的值。
45+
4446
如果使用`let`,声明的变量仅在块级作用域内有效,最后输出的是6。
4547

4648
```javascript
@@ -53,9 +55,11 @@ for (let i = 0; i < 10; i++) {
5355
a[6](); // 6
5456
```
5557

58+
上面代码中,变量`i``let`声明的,当前的`i`只在本轮循环有效,所以每一次循环的`i`其实都是一个新的变量,所以最后输出的是6。
59+
5660
### 不存在变量提升
5761

58-
`let`不像`var`那样,会发生“变量提升”现象。
62+
`let`不像`var`那样,会发生“变量提升”现象。所以,变量一定要在声明后使用,否则报错。
5963

6064
```javascript
6165
console.log(foo); // ReferenceError
@@ -71,7 +75,7 @@ typeof x; // ReferenceError
7175
let x;
7276
```
7377

74-
上面代码中,由于块级作用域内`typeof`运行时,`x`还没有值,所以会抛出一个`ReferenceError`
78+
上面代码中,由于`typeof`运行时,`x`还没有声明,所以会抛出一个`ReferenceError`
7579

7680
### 暂时性死区
7781

0 commit comments

Comments
 (0)