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

docs(arraybuffer): edit arraybuffer

This commit is contained in:
ruanyf 2018-02-08 18:17:29 +08:00
parent d6045d09c9
commit 3c4b9d1a63
3 changed files with 13 additions and 3 deletions

View File

@ -454,7 +454,17 @@ Float64Array.BYTES_PER_ELEMENT // 8
function ab2str(buf) {
// 注意,如果是大型二进制数组,为了避免溢出,
// 必须一个一个字符地转
return String.fromCharCode.apply(null, new Uint16Array(buf));
if (buf && buf.byteLength < 1024) {
return String.fromCharCode.apply(null, new Uint16Array(buf));
}
const bufView = new Uint16Array(buf);
const len = bufView.length;
const bstr = new Array(len);
for (let i = 0; i < len; i++) {
bstr[i] = String.fromCharCode.call(null, bufView[i]);
}
return bstr.join('');
}
// 字符串转为 ArrayBuffer 对象,参数为字符串

View File

@ -321,7 +321,7 @@ g(1, 2, 3); // [1, 2, 3, 9, 1, 2, 3]
Unix 操作系统有一个管道机制pipeline可以把前一个操作的值传给后一个操作。这个机制非常有用使得简单的操作可以组合成为复杂的操作。许多语言都有管道的实现现在有一个[提案](https://github.com/tc39/proposal-partial-application),让 JavaScript 也拥有管道机制。
JavaScript 的管道是一个运算符,写作`|>`。它的左边是一个表达式,右边是一个函数。管道运算符把左边表达式的值,传入右边的函数进行求
JavaScript 的管道是一个运算符,写作`|>`。它的左边是一个表达式,右边是一个函数。管道运算符把左边表达式的值,传入右边的函数进行求
```javascript
x |> f

View File

@ -55,7 +55,7 @@ set.size // 56
[...new Set(array)]
```
向 Set 加入值的时候,不会发生类型转换,所以`5``"5"`是两个不同的值。Set 内部判断两个值是否不同使用的算法叫做“Same-value equality”它类似于精确相等运算符`===`),主要的区别是`NaN`等于自身,而精确相等运算符认为`NaN`不等于自身。
向 Set 加入值的时候,不会发生类型转换,所以`5``"5"`是两个不同的值。Set 内部判断两个值是否不同使用的算法叫做“Same-value-zero equality”它类似于精确相等运算符`===`),主要的区别是`NaN`等于自身,而精确相等运算符认为`NaN`不等于自身。
```javascript
let set = new Set();