1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-27 20:32:21 +00:00

修改generator和class

This commit is contained in:
ruanyf 2014-06-16 05:57:58 +08:00
parent ab9f7a9e82
commit 560cc6272a
3 changed files with 19 additions and 5 deletions

View File

@ -67,7 +67,20 @@ export var year = 1973;
```
上面是profile.jsES6将其视为一个模块里面用export关键字输出了三个变量。其他js文件就可以通过import关键字加载这个模块文件
上面是profile.jsES6将其视为一个模块里面用export关键字输出了三个变量。export的写法除了像上面这样还有另外一种两者是等价的。
```javascript
// profile.js
var firstName = 'David';
var lastName = 'Belle';
var year = 1973;
export {firstName, lastName, year}
```
使用export定义模块以后其他js文件就可以通过import关键字加载这个模块文件
```javascript

View File

@ -11,6 +11,7 @@ Generator函数就是普通函数但是有两个特征。一是function关
function* helloWorldGenerator() {
yield 'hello';
yield 'world';
return 'ending';
}
var hw = helloWorldGenerator();
@ -30,7 +31,7 @@ hw.next()
// { value: 'world', done: false }
hw.next()
// { value: undefined, done: true }
// { value: 'ending', done: true }
hw.next()
// { value: undefined, done: true }
@ -43,9 +44,9 @@ hw.next()
第二次调用函数从上次yield语句停下的地方一直执行到下一个yield语句。next方法返回的对象的value属性就是当前yield语句的值worlddone属性的值false表示遍历还没有结束。
第三次调用函数从上次yield语句停下的地方一直执行到函数结束。next方法返回的对象的value属性就是函数最后的返回值由于上例的函数没有return语句即没有返回值所以value属性的值为undefineddone属性的值true表示遍历已经结束。
第三次调用函数从上次yield语句停下的地方一直执行到return语句如果没有return语句就执行到函数结束。next方法返回的对象的value属性就是紧跟在return语句后面的表达式的值如果没有return语句则value属性的值为undefineddone属性的值true表示遍历已经结束。
第四次调用此时函数已经运行完毕next方法返回与前一次一样的值,value属性为undefineddone属性为true。以后再调用next方法返回的都是这个值。
第四次调用此时函数已经运行完毕next方法返回对象的value属性为undefineddone属性为true。以后再调用next方法返回的都是这个值。
总结一下Generator函数使用iterator接口每次调用next方法的返回值就是一个标准的iterator返回值有着value和done两个属性的对象。其中value是yield语句后面那个表达式的值done是一个布尔值表示是否遍历结束。

View File

@ -30,7 +30,7 @@ ECMAScript是JavaScript语言的国际标准JavaScript是ECMAScript的实现
2013年12月ECMAScript 6草案发布。然后是12个月的讨论期听取各方反馈。
2014年12ECMAScript 6预计将发布正式版本。
2015年6ECMAScript 6预计将发布正式版本。
ECMA的第39号技术专家委员会Technical Committee 39简称TC39负责制订ECMAScript标准成员包括Microsoft、Mozilla、Google等大公司。TC39的总体考虑是ES5与ES3基本保持兼容较大的语法修正和新功能加入将由JavaScript.next完成。当前JavaScript.next指的是ES6当第六版发布以后将指ES7。TC39估计ES5会在2013年的年中成为JavaScript开发的主流标准并在今后五年中一直保持这个位置。