mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-24 18:32:22 +00:00
edit docs/let/hoist
This commit is contained in:
parent
135a4486a9
commit
52a950dc3e
@ -105,7 +105,7 @@ loadUI.next()
|
||||
|
||||
```
|
||||
|
||||
上面代码表示,第一次调用loadUI函数时,该函数不会执行,仅返回一个遍历器。下一次对该遍历器调用next方法,则会显示登录界面,并且异步加载数据。再一次使用next方法,则会隐藏登录界面。可以看到,这种写法的好处是所有登录界面的逻辑,都被封装在一个函数,按部就班非常清晰。
|
||||
上面代码表示,第一次调用loadUI函数时,该函数不会执行,仅返回一个遍历器。下一次对该遍历器调用next方法,则会显示Loading界面,并且异步加载数据。再一次使用next方法,则会隐藏Loading界面。可以看到,这种写法的好处是所有Loading界面的逻辑,都被封装在一个函数,按部就班非常清晰。
|
||||
|
||||
注意,yield语句是同步运行,不是异步运行(否则就失去了取代回调函数的设计目的了)。实际操作中,一般让yield语句返回Promises对象。
|
||||
|
||||
|
13
docs/let.md
13
docs/let.md
@ -48,6 +48,19 @@ a[6](); // 6
|
||||
|
||||
```
|
||||
|
||||
let不像var那样,会发生“变量提升”现象。
|
||||
|
||||
```javascript
|
||||
|
||||
function do_something() {
|
||||
console.log(foo); // ReferenceError
|
||||
let foo = 2;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
上面代码在声明foo之前,就使用这个变量,结果会抛出一个错误。
|
||||
|
||||
注意,let不允许在相同作用域内,重复声明同一个变量。
|
||||
|
||||
```javascript
|
||||
|
Loading…
x
Reference in New Issue
Block a user