docs(arraybuffer): edit arraybuffer

This commit is contained in:
ruanyf
2017-01-05 11:17:25 +08:00
parent 53ed0a0a3b
commit 2b74904568
2 changed files with 11 additions and 2 deletions
+10 -1
View File
@@ -487,6 +487,15 @@ uint8[0] // 255
- 正向溢出(overflow):当输入值大于当前数据类型的最大值,结果等于当前数据类型的最小值加上余值,再减去1。
- 负向溢出(underflow):当输入值小于当前数据类型的最小值,结果等于当前数据类型的最大值减去余值,再加上1。
上面的“余值”就是模运算的结果,即 JavaScript 里面的`%`运算符的结果。
```javascript
12 % 4 // 0
12 % 5 // 2
```
上面代码中,12除以4是没有余值的,而除以5会得到余值2。
请看下面的例子。
```javascript
@@ -499,7 +508,7 @@ int8[0] = -129;
int8[0] // 127
```
上面例子中,`int8`是一个带符号的8位整数视图,它的最大值是127,最小值是-128。输入值为`128`时,相当于正向溢出`1`,根据“最小值加上余值,再减去1”的规则,就会返回`-128`;输入值为`-129`时,相当于负向溢出`1`,根据“最大值减去余值,再加上1”的规则,就会返回`127`
上面例子中,`int8`是一个带符号的8位整数视图,它的最大值是127,最小值是-128。输入值为`128`时,相当于正向溢出`1`,根据“最小值加上余值128除以127的余值是1,再减去1”的规则,就会返回`-128`;输入值为`-129`时,相当于负向溢出`1`,根据“最大值减去余值-129除以-127的余值是2,再加上1”的规则,就会返回`127`
`Uint8ClampedArray`视图的溢出规则,与上面的规则不同。它规定,凡是发生正向溢出,该值一律等于当前数据类型的最大值,即255;如果发生负向溢出,该值一律等于当前数据类型的最小值,即0。