简要记录ES6中Module的语法

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

例一:

//xx1.js
var name = 'wu';
var age = 20;
var addr = 'Suzhou';
export {name,age,addr}; //输出变量

//main.js
//引入变量 其中把name变量名改为n
import{name as n,age,addr} from './xx1.js';

例二:

//xx1.js
export function calcs(n) {
    return n*n;
} //输出计算方法

//main.js
import{calcs} from './xx1'; //文件名后的.js可以省略 
//直接引入方法名
console.log(calcs(3)); //输出9

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

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

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

//xx1.js
export var foo = 'bar';
setTimeout(() => foo = 'bazz',500 );

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


扫描二维码关注公众号,回复: 2868804 查看本文章

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


猜你喜欢

转载自blog.csdn.net/ChauncyWu/article/details/77601041
今日推荐