mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-29 05:42:20 +00:00
docs(module): edit Module
This commit is contained in:
parent
c4ee209c88
commit
e5c9ccadca
@ -508,7 +508,7 @@ int8[0] = -129;
|
|||||||
int8[0] // 127
|
int8[0] // 127
|
||||||
```
|
```
|
||||||
|
|
||||||
上面例子中,`int8`是一个带符号的8位整数视图,它的最大值是127,最小值是-128。输入值为`128`时,相当于正向溢出`1`,根据“最小值加上余值(128除以127的余值是1),再减去1”的规则,就会返回`-128`;输入值为`-129`时,相当于负向溢出`1`,根据“最大值减去余值(-129除以-127的余值是2),再加上1”的规则,就会返回`127`。
|
上面例子中,`int8`是一个带符号的8位整数视图,它的最大值是127,最小值是-128。输入值为`128`时,相当于正向溢出`1`,根据“最小值加上余值(128除以127的余值是1),再减去1”的规则,就会返回`-128`;输入值为`-129`时,相当于负向溢出`1`,根据“最大值减去余值(-129除以-128的余值是1),再加上1”的规则,就会返回`127`。
|
||||||
|
|
||||||
`Uint8ClampedArray`视图的溢出规则,与上面的规则不同。它规定,凡是发生正向溢出,该值一律等于当前数据类型的最大值,即255;如果发生负向溢出,该值一律等于当前数据类型的最小值,即0。
|
`Uint8ClampedArray`视图的溢出规则,与上面的规则不同。它规定,凡是发生正向溢出,该值一律等于当前数据类型的最大值,即255;如果发生负向溢出,该值一律等于当前数据类型的最小值,即0。
|
||||||
|
|
||||||
|
@ -104,6 +104,10 @@ const isNotModuleScript = this !== undefined;
|
|||||||
- CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。
|
- CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。
|
||||||
- CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。
|
- CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。
|
||||||
|
|
||||||
|
第二个差异是因为 CommonJS 加载的是一个对象(即`module.exports`属性),该对象只有在脚本运行完才会生成。而 ES6 模块不是对象,它的对外接口只是一种静态定义,在代码静态解析阶段就会生成。
|
||||||
|
|
||||||
|
下面重点解释第一个差异。
|
||||||
|
|
||||||
CommonJS 模块输出的是值的拷贝,也就是说,一旦输出一个值,模块内部的变化就影响不到这个值。请看下面这个模块文件`lib.js`的例子。
|
CommonJS 模块输出的是值的拷贝,也就是说,一旦输出一个值,模块内部的变化就影响不到这个值。请看下面这个模块文件`lib.js`的例子。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
|
Loading…
x
Reference in New Issue
Block a user