diff --git a/docs/generator.md b/docs/generator.md index 96a48ea..1970d8b 100644 --- a/docs/generator.md +++ b/docs/generator.md @@ -105,7 +105,7 @@ loadUI.next() ``` -上面代码表示,第一次调用loadUI函数时,该函数不会执行,仅返回一个遍历器。下一次对该遍历器调用next方法,则会显示登录窗口,并且异步加载数据。再一次使用next方法,则会隐藏登录窗口。可以看到,这种写法的好处是所有登录窗口的逻辑,都被封装在一个函数,按部就班非常清晰。 +上面代码表示,第一次调用loadUI函数时,该函数不会执行,仅返回一个遍历器。下一次对该遍历器调用next方法,则会显示登录界面,并且异步加载数据。再一次使用next方法,则会隐藏登录界面。可以看到,这种写法的好处是所有登录界面的逻辑,都被封装在一个函数,按部就班非常清晰。 注意,yield语句是同步运行,不是异步运行(否则就失去了取代回调函数的设计目的了)。实际操作中,一般让yield语句返回Promises对象。 diff --git a/docs/intro.md b/docs/intro.md index 3da6b4e..e12c114 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -50,13 +50,25 @@ node --harmony ``` -启动命令中的`--harmony`选项可以打开大部分的ES6功能,但是还有一些特性,需要单独打开,主要是使用`--use_strict`选项打开块级作用域功能、使用`--harmony_generators`选项打开generator功能。 - -使用下面的命令,可以查看所有与ES6有关的选项。 +启动命令中的`--harmony`选项可以打开所有已经部署的ES6功能。使用下面的命令,可以查看所有与ES6有关的单个选项。 ```bash -node --v8-options | grep harmony +$ node --v8-options | grep harmony + --harmony_typeof (enable harmony semantics for typeof) + --harmony_scoping (enable harmony block scoping) + --harmony_modules (enable harmony modules (implies block scoping)) + --harmony_symbols (enable harmony symbols (a.k.a. private names)) + --harmony_proxies (enable harmony proxies) + --harmony_collections (enable harmony collections (sets, maps, and weak maps)) + --harmony_observation (enable harmony object observation (implies harmony collections) + --harmony_generators (enable harmony generators) + --harmony_iteration (enable harmony iteration (for-of)) + --harmony_numeric_literals (enable harmony numeric literals (0o77, 0b11)) + --harmony_strings (enable harmony string) + --harmony_arrays (enable harmony arrays) + --harmony_maths (enable harmony math functions) + --harmony (enable all harmony features (except typeof)) ``` diff --git a/docs/let.md b/docs/let.md index bbb2236..ad0f250 100644 --- a/docs/let.md +++ b/docs/let.md @@ -84,7 +84,7 @@ function f1() { 上面的函数有两个代码块,都声明了变量n,运行后输出5。这表示外层代码块不受内层代码块的影响。如果使用var定义变量n,最后输出的值就是10。 -块级作用域的出现,实际上使得获得广泛应用的立即执行函数(IIFE)不再必要了。 +块级作用域的出现,实际上使得获得广泛应用的立即执行匿名函数(IIFE)不再必要了。 ```javascript @@ -102,14 +102,14 @@ function f1() { ``` -另外,ES6的函数也默认在块级作用域内声明。 +另外,ES6也规定,函数的作用域为其所在的块级作用域。 ```javascript function f() { console.log('I am outside!'); } (function () { if(false) { - // What should happen with this redeclaration? + // 重复声明一次函数f function f() { console.log('I am inside!'); } }