`set()` 方法用于从指定数组中读取值，并将其存储在类型化数组中。

## 语法格式

    typedarr.set(array [,offset])
    typedarr.set(typedarray [,offset])

### 参数

array
  参数array是源数组，指定从哪里拷贝值。源数组中的所有值都会被拷贝到目标数组中去。如果源数组的长度加上偏移值offset的结果超过目标数组的长度，则会抛出异常错误。
typedarray
  如果源数组是一个类型化数组（typed array），则源数组和目标数组会共享同一个底层的`ArrayBuffer`；浏览器将会智能地将buffer的指定区段拷贝到目标区段中去。
offset 可选
  偏移量参数offset指定从什么地方开始使用源数组`array`的值进行重写。如果忽略该参数，则默认为0（也就是说，从目标数组的下标为0处开始，使用源数组`array`的值覆盖重写）。

### 返回值

`undefined`.

### 抛出的错误异常

`RangeError`
  如果指定的偏移量超出了类型化数组的范围，则该异常会被抛出。

## 例子

### `使用set方法`

    var buffer = new ArrayBuffer(8);
    var uint8 = new Uint8Array(buffer);

    uint8.set([1,2,3], 3);

    console.log(uint8); // Uint8Array [ 0, 0, 0, 1, 2, 3, 0, 0 ]

## 规范文档

文档 | 状态 | 说明
--- | --- | ---
Typed Array Specification | Obsolete | ECMAScript 6中已废弃。
ECMAScript 2015 (6th Edition, ECMA-262) TypedArray.prototype.set | Standard | 在ECMA标准中初始定义。
ECMAScript Latest Draft (ECMA-262) TypedArray.prototype.set | Draft |

## 浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

- Desktop
- Mobile

浏览器 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari
--- | --- | --- | --- | --- | ---
最低版本 | 7.0 | 4.0 (2) | 10 | 11.6 | 5.1

浏览器 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile
--- | --- | --- | --- | --- | --- | ---
最低版本 | 4.0 | (Yes) | 4.0 (2) | 10 | 11.6 | 4.2

## 另可参考

- JavaScript typed arrays
- `TypedArray`
- `ArrayBuffer`