mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-25 03:02:21 +00:00
Fix coding style in docs/module.md
This commit is contained in:
parent
307932e155
commit
0dd87edc44
@ -350,7 +350,7 @@ import {crc32} from 'crc32';
|
|||||||
// modules.js
|
// modules.js
|
||||||
function add(x, y) {
|
function add(x, y) {
|
||||||
return x * y;
|
return x * y;
|
||||||
};
|
}
|
||||||
export {add as default};
|
export {add as default};
|
||||||
// 等同于
|
// 等同于
|
||||||
// export default add;
|
// export default add;
|
||||||
@ -402,7 +402,7 @@ export default 42;
|
|||||||
export default class { ... }
|
export default class { ... }
|
||||||
|
|
||||||
// main.js
|
// main.js
|
||||||
import MyClass from 'MyClass'
|
import MyClass from 'MyClass';
|
||||||
let o = new MyClass();
|
let o = new MyClass();
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -499,7 +499,7 @@ $ node main.js
|
|||||||
4
|
4
|
||||||
```
|
```
|
||||||
|
|
||||||
ES6模块的运行机制与CommonJS不一样,它遇到模块加载命令`import`时,不会去执行模块,而是只生成一个动态的只读引用。等到真的需要用到时,再到模块里面去取值,换句话说,ES6的输入有点像Unix系统的”符号连接“,原始值变了,`import`输入的值也会跟着变。因此,ES6模块是动态引用,并且不会缓存值,模块里面的变量绑定其所在的模块。
|
ES6模块的运行机制与CommonJS不一样,它遇到模块加载命令`import`时,不会去执行模块,而是只生成一个动态的只读引用。等到真的需要用到时,再到模块里面去取值,换句话说,ES6的输入有点像Unix系统的“符号连接”,原始值变了,`import`输入的值也会跟着变。因此,ES6模块是动态引用,并且不会缓存值,模块里面的变量绑定其所在的模块。
|
||||||
|
|
||||||
还是举上面的例子。
|
还是举上面的例子。
|
||||||
|
|
||||||
@ -545,7 +545,7 @@ baz
|
|||||||
|
|
||||||
上面代码表明,ES6模块不会缓存运行结果,而是动态地去被加载的模块取值,并且变量总是绑定其所在的模块。
|
上面代码表明,ES6模块不会缓存运行结果,而是动态地去被加载的模块取值,并且变量总是绑定其所在的模块。
|
||||||
|
|
||||||
由于ES6输入的模块变量,只是一个”符号连接“,所以这个变量是只读的,对它进行重新赋值会报错。
|
由于ES6输入的模块变量,只是一个“符号连接”,所以这个变量是只读的,对它进行重新赋值会报错。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// lib.js
|
// lib.js
|
||||||
@ -571,7 +571,7 @@ function C() {
|
|||||||
};
|
};
|
||||||
this.show = function () {
|
this.show = function () {
|
||||||
console.log(this.sum);
|
console.log(this.sum);
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export let c = new C();
|
export let c = new C();
|
||||||
@ -616,7 +616,7 @@ var a = require('a');
|
|||||||
|
|
||||||
通常,“循环加载”表示存在强耦合,如果处理不好,还可能导致递归加载,使得程序无法执行,因此应该避免出现。
|
通常,“循环加载”表示存在强耦合,如果处理不好,还可能导致递归加载,使得程序无法执行,因此应该避免出现。
|
||||||
|
|
||||||
但是实际上,这是很难避免的,尤其是依赖关系复杂的大项目,很容易出现`a`依赖b,`b`依赖`c`,`c`又依赖`a`这样的情况。这意味着,模块加载机制必须考虑“循环加载”的情况。
|
但是实际上,这是很难避免的,尤其是依赖关系复杂的大项目,很容易出现`a`依赖`b`,`b`依赖`c`,`c`又依赖`a`这样的情况。这意味着,模块加载机制必须考虑“循环加载”的情况。
|
||||||
|
|
||||||
对于JavaScript语言来说,目前最常见的两种模块格式CommonJS和ES6,处理“循环加载”的方法是不一样的,返回的结果也不一样。
|
对于JavaScript语言来说,目前最常见的两种模块格式CommonJS和ES6,处理“循环加载”的方法是不一样的,返回的结果也不一样。
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user