简要记录ES6中Module的语法

来源:互联网 发布:知行英语综合教程下载 编辑:程序博客网 时间:2024/06/03 08:38

Module ,即模块,ES6中 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入,如同script导入外部JS脚本。

例一:

//xx1.jsvar name = 'wu';var age = 20;var addr = 'Suzhou';export {name,age,addr}; //输出变量//main.js//引入变量 其中把name变量名改为nimport{name as n,age,addr} from './xx1.js';

例二:

//xx1.jsexport function calcs(n) {    return n*n;} //输出计算方法//main.jsimport{calcs} from './xx1'; //文件名后的.js可以省略 //直接引入方法名console.log(calcs(3)); //输出9

例三   同一个页面里,可以既有export ,又有import

//xx.jsimport{foo ,bar} from 'myjs';export{foo,bar};

例四  ES6 Module(模块)是动态引用,并且不会缓存值,模块里面的变量绑定其所在的模块

//xx1.jsexport var foo = 'bar';setTimeout(() => foo = 'bazz',500 );//xx2.jsimport {foo} from './xx1.js';console.log(foo); //barsetTimeout(() => console.log(foo),500); //bazz
上面的代码中,xx1.js的变量foo ,刚加载时是bar,过了500毫秒,变成了bazz。那么在xx2.js中这个变化也一样。


先行记录于此,感谢阮一峰先生的ES6入门教程