1
0
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:
ruanyf 2014-05-08 02:02:39 +08:00
parent 135a4486a9
commit 52a950dc3e
2 changed files with 14 additions and 1 deletions

View File

@ -105,7 +105,7 @@ loadUI.next()
```
上面代码表示第一次调用loadUI函数时该函数不会执行仅返回一个遍历器。下一次对该遍历器调用next方法则会显示登录界面并且异步加载数据。再一次使用next方法则会隐藏登录界面。可以看到这种写法的好处是所有登录界面的逻辑,都被封装在一个函数,按部就班非常清晰。
上面代码表示第一次调用loadUI函数时该函数不会执行仅返回一个遍历器。下一次对该遍历器调用next方法则会显示Loading界面并且异步加载数据。再一次使用next方法则会隐藏Loading界面。可以看到这种写法的好处是所有Loading界面的逻辑,都被封装在一个函数,按部就班非常清晰。
注意yield语句是同步运行不是异步运行否则就失去了取代回调函数的设计目的了。实际操作中一般让yield语句返回Promises对象。

View File

@ -48,6 +48,19 @@ a[6](); // 6
```
let不像var那样会发生“变量提升”现象。
```javascript
function do_something() {
console.log(foo); // ReferenceError
let foo = 2;
}
```
上面代码在声明foo之前就使用这个变量结果会抛出一个错误。
注意let不允许在相同作用域内重复声明同一个变量。
```javascript