1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

docs(module): edit module

This commit is contained in:
ruanyf 2017-01-15 19:57:14 +08:00
parent e198cd9ec9
commit b08cb1329f

View File

@ -591,7 +591,7 @@ $ node main.js
4 4
``` ```
ES6模块的运行机制与CommonJS不一样它遇到模块加载命令`import`不会去执行模块而是只生成一个动态的只读引用。等到真的需要用到时再到模块里面去取值换句话说ES6的输入有点像Unix系统的“符号连接”原始值变了`import`输入的值也会跟着变。因此ES6模块是动态引用,并且不会缓存值,模块里面的变量绑定其所在的模块。 ES6 模块的运行机制与 CommonJS 不一样。JS引擎对脚本静态分析的时候遇到模块加载命令`import`就会生成一个只读引用。等到脚本真正执行时再根据这个只读引用到被加载的那个模块里面去取值。换句话说ES6 的`import`有点像 Unix 系统的“符号连接”,原始值变了,`import`加载的值也会跟着变。因此ES6 模块是动态引用,并且不会缓存值,模块里面的变量绑定其所在的模块。
还是举上面的例子。 还是举上面的例子。
@ -609,7 +609,7 @@ incCounter();
console.log(counter); // 4 console.log(counter); // 4
``` ```
上面代码说明ES6模块输入的变量`counter`是活的,完全反应其所在模块`lib.js`内部的变化。 上面代码说明ES6 模块输入的变量`counter`是活的,完全反应其所在模块`lib.js`内部的变化。
再举一个出现在`export`一节中的例子。 再举一个出现在`export`一节中的例子。