File tree Expand file tree Collapse file tree 2 files changed +5
-1
lines changed Expand file tree Collapse file tree 2 files changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -508,7 +508,7 @@ int8[0] = -129;
508
508
int8[0 ] // 127
509
509
```
510
510
511
- 上面例子中,` int8 ` 是一个带符号的8位整数视图,它的最大值是127,最小值是-128。输入值为` 128 ` 时,相当于正向溢出` 1 ` ,根据“最小值加上余值(128除以127的余值是1),再减去1”的规则,就会返回` -128 ` ;输入值为` -129 ` 时,相当于负向溢出` 1 ` ,根据“最大值减去余值(-129除以-127的余值是2 ),再加上1”的规则,就会返回` 127 ` 。
511
+ 上面例子中,` int8 ` 是一个带符号的8位整数视图,它的最大值是127,最小值是-128。输入值为` 128 ` 时,相当于正向溢出` 1 ` ,根据“最小值加上余值(128除以127的余值是1),再减去1”的规则,就会返回` -128 ` ;输入值为` -129 ` 时,相当于负向溢出` 1 ` ,根据“最大值减去余值(-129除以-128的余值是1 ),再加上1”的规则,就会返回` 127 ` 。
512
512
513
513
` Uint8ClampedArray ` 视图的溢出规则,与上面的规则不同。它规定,凡是发生正向溢出,该值一律等于当前数据类型的最大值,即255;如果发生负向溢出,该值一律等于当前数据类型的最小值,即0。
514
514
Original file line number Diff line number Diff line change @@ -104,6 +104,10 @@ const isNotModuleScript = this !== undefined;
104
104
- CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。
105
105
- CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。
106
106
107
+ 第二个差异是因为 CommonJS 加载的是一个对象(即` module.exports ` 属性),该对象只有在脚本运行完才会生成。而 ES6 模块不是对象,它的对外接口只是一种静态定义,在代码静态解析阶段就会生成。
108
+
109
+ 下面重点解释第一个差异。
110
+
107
111
CommonJS 模块输出的是值的拷贝,也就是说,一旦输出一个值,模块内部的变化就影响不到这个值。请看下面这个模块文件` lib.js ` 的例子。
108
112
109
113
``` javascript
You can’t perform that action at this time.
0 commit comments