TypedArray

A TypedArray object describes an array-like view of an underlying binary data buffer . There is no global property named TypedArray , nor is there a directly visible TypedArray constructor.  Instead, there are a number of different global properties, whose values are typed array constructors for specific element types, listed below. On the following pages you will find common properties and methods that can be used with any typed array containing elements of any type.

描述

ECMAScript 2015 defines a TypedArray constructor that serves as the [[Prototype]] of all TypedArray constructors.  This constructor is not directly exposed: there is no global %TypedArray% or TypedArray property.  It is only directly accessible through Object.getPrototypeOf(Int8Array) and similar.  All TypedArray s constructors inherit common properties from the %TypedArray% constructor function.  Additionally, all typed array prototypes ( TypedArray. prototype ) have %TypedArray%.prototype as their [[Prototype]] .

%TypedArray% constructor on its own is not particularly useful.  Calling it or using it in a new expression will throw a TypeError , except when used during object creation in JS engines that support subclassing.  There are at present no such engines, so %TypedArray% is only useful to polyfill functions or properties onto all TypedArray 构造函数。

When creating an instance of a TypedArray (e.g. Int8Array ), an array buffer is created internally in memory or, if an ArrayBuffer object is given as constructor argument, then this is used instead.  The buffer address is saved as an internal property of the instance and all the methods of % TypedArray %.prototype , i.e. set value and get value etc., operate on that array buffer address.

TypedArray objects

Type 值范围 Size in bytes 描述 Web IDL 类型 Equivalent C type
Int8Array -128 to 127 1 8-bit two's complement signed integer byte int8_t
Uint8Array 0 to 255 1 8-bit unsigned integer octet uint8_t
Uint8ClampedArray 0 to 255 1 8-bit unsigned integer (clamped) octet uint8_t
Int16Array -32768 to 32767 2 16-bit two's complement signed integer short int16_t
Uint16Array 0 to 65535 2 16-bit unsigned integer unsigned short uint16_t
Int32Array -2147483648 to 2147483647 4 32-bit two's complement signed integer long int32_t
Uint32Array 0 to 4294967295 4 32-bit unsigned integer unsigned long uint32_t
Float32Array 1.2 × 10 -38 to 3.4 × 10 38 4 32-bit IEEE floating point number (7 significant digits e.g., 1.1234567 ) unrestricted float float
Float64Array 5.0 × 10 -324 to 1.8 × 10 308 8 64-bit IEEE floating point number (16 significant digits e.g., 1.123...15 ) unrestricted double double
BigInt64Array -2 63 to 2 63 -1 8 64-bit two's complement signed integer bigint int64_t (signed long long)
BigUint64Array 0 to 2 64 -1 8 64-bit unsigned integer bigint uint64_t (unsigned long long)

构造函数

This object cannot be instantiated directly. Instead, you create an instance of an array of a particular type, such as a Int8Array BigInt64Array . These objects all have a common syntax for their constructors:

new TypedArray();
new TypedArray(length);
new TypedArray(typedArray);
new TypedArray(object);
new TypedArray(buffer [, byteOffset [, length]]);
					

Where TypedArray is a constructor for one of the concrete types.

参数

length
When called with a length argument, an internal array buffer is created in memory, of size length multiplied by BYTES_PER_ELEMENT bytes, containing zeros.
typedArray
When called with a typedArray argument, which can be an object of any of the typed array types (such as Int32Array ), the typedArray gets copied into a new typed array. Each value in typedArray is converted to the corresponding type of the constructor before being copied into the new array. The length of the new typed array will be same as the length of the typedArray 自变量。
object
When called with an object argument, a new typed array is created as if by the TypedArray .from() 方法。
buffer , byteOffset , length
When called with a buffer , and optionally a byteOffset length argument, a new typed array view is created that views the specified ArrayBuffer byteOffset and length parameters specify the memory range that will be exposed by the typed array view.  If both are omitted, all of buffer is viewed; if only length is omitted, the remainder of buffer is viewed.

静态特性

TypedArray.BYTES_PER_ELEMENT
Returns a number value of the element size for the different TypedArray 对象。
TypedArray.name
Returns the string value of the constructor name (e.g, "Int8Array" ).
get TypedArray[@@species]
The constructor function used to create derived objects.
TypedArray.prototype
Prototype for TypedArray 对象。

静态方法

TypedArray.from()
创建新的 TypedArray from an array-like or iterable object. See also Array.from() .
TypedArray.of()
创建新的 TypedArray with a variable number of arguments. See also Array.of() .

实例特性

TypedArray.prototype.buffer
返回 ArrayBuffer referenced by the typed array. Fixed at construction time and thus read only .
TypedArray.prototype.byteLength
Returns the length (in bytes) of the typed array. Fixed at construction time and thus read only.
TypedArray.prototype.byteOffset
Returns the offset (in bytes) of the typed array from the start of its ArrayBuffer . Fixed at construction time and thus read only.
TypedArray.prototype.length
Returns the number of elements held in the typed array. Fixed at construction time and thus read only.

实例方法

TypedArray.prototype.copyWithin()
Copies a sequence of array elements within the array. See also Array.prototype.copyWithin() .
TypedArray.prototype.entries()
返回新 Array Iterator object that contains the key/value pairs for each index in the array. See also Array.prototype.entries() .
TypedArray.prototype.every()
Tests whether all elements in the array pass the test provided by a function. See also Array.prototype.every() .
TypedArray.prototype.fill()
Fills all the elements of an array from a start index to an end index with a static value. See also Array.prototype.fill() .
TypedArray.prototype.filter()
Creates a new array with all of the elements of this array for which the provided filtering function returns true 。另请参阅 Array.prototype.filter() .
TypedArray.prototype.find()
Returns the found value in the array, if an element in the array satisfies the provided testing function, or undefined if not found. See also Array.prototype.find() .
TypedArray.prototype.findIndex()
Returns the found index in the array, if an element in the array satisfies the provided testing function or -1 if not found. See also Array.prototype.findIndex() .
TypedArray.prototype.forEach()
Calls a function for each element in the array. See also Array.prototype.forEach() .
TypedArray.prototype.includes()
Determines whether a typed array includes a certain element, returning true or false as appropriate. See also Array.prototype.includes() .
TypedArray.prototype.indexOf()
Returns the first (least) index of an element within the array equal to the specified value, or -1 if none is found. See also Array.prototype.indexOf() .
TypedArray.prototype.join()
Joins all elements of an array into a string. See also Array.prototype.join() .
TypedArray.prototype.keys()
返回新 Array Iterator that contains the keys for each index in the array. See also Array.prototype.keys() .
TypedArray.prototype.lastIndexOf()
Returns the last (greatest) index of an element within the array equal to the specified value, or -1 if none is found. See also Array.prototype.lastIndexOf() .
TypedArray.prototype.map()
Creates a new array with the results of calling a provided function on every element in this array. See also Array.prototype.map() .
TypedArray.prototype.reduce()
Apply a function against an accumulator and each value of the array (from left-to-right) as to reduce it to a single value. See also Array.prototype.reduce() .
TypedArray.prototype.reduceRight()
Apply a function against an accumulator and each value of the array (from right-to-left) as to reduce it to a single value. See also Array.prototype.reduceRight() .
TypedArray.prototype.reverse()
Reverses the order of the elements of an array — the first becomes the last, and the last becomes the first. See also Array.prototype.reverse() .
TypedArray.prototype.set()
Stores multiple values in the typed array, reading input values from a specified array.
TypedArray.prototype.slice()
Extracts a section of an array and returns a new array. See also Array.prototype.slice() .
TypedArray.prototype.some()
返回 true if at least one element in this array satisfies the provided testing function. See also Array.prototype.some() .
TypedArray.prototype.sort()
Sorts the elements of an array in place and returns the array. See also Array.prototype.sort() .
TypedArray.prototype.subarray()
返回新 TypedArray from the given start and end element index.
TypedArray.prototype.values()
返回新 Array Iterator object that contains the values for each index in the array. See also Array.prototype.values() .
TypedArray.prototype.toLocaleString()
Returns a localized string representing the array and its elements. See also Array.prototype.toLocaleString() .
TypedArray.prototype.toString()
Returns a string representing the array and its elements. See also Array.prototype.toString() .
TypedArray.prototype[@@iterator]()
返回新 Array Iterator object that contains the values for each index in the array.

范例

New is required

Starting with ECMAScript 2015, TypedArray constructors must be constructed with the new operator. Calling a TypedArray constructor as a function without new will throw a TypeError .

var dv = Int8Array([1, 2, 3]);
// TypeError: calling a builtin Int8Array constructor
// without new is forbidden
					
var dv = new Int8Array([1, 2, 3]);
					

Property access

You can reference elements in the array using standard array index syntax (that is, using bracket notation). However, getting or setting indexed properties on typed arrays will not search in the prototype chain for this property, even when the indices are out of bound. Indexed properties will consult the ArrayBuffer and will never look at object properties. You can still use named properties, just like with all objects.

// Setting and getting using standard array syntax
var int16 = new Int16Array(2);
int16[0] = 42;
console.log(int16[0]); // 42
// Indexed properties on prototypes are not consulted (Fx 25)
Int8Array.prototype[20] = 'foo';
(new Int8Array(32))[20]; // 0
// even when out of bound
Int8Array.prototype[20] = 'foo';
(new Int8Array(8))[20]; // undefined
// or with negative integers
Int8Array.prototype[-1] = 'foo';
(new Int8Array(8))[-1]; // undefined
// Named properties are allowed, though (Fx 30)
Int8Array.prototype.foo = 'bar';
(new Int8Array(32)).foo; // "bar"
					

规范

规范
ECMAScript (ECMA-262)
The definition of 'TypedArray Objects' in that specification.

浏览器兼容性

更新 GitHub 上的兼容性数据
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
TypedArray Chrome 7 Edge 12 Firefox 4 IE 10 Opera 11.6 Safari 5.1 WebView Android 4 Chrome Android 18 Firefox Android 4 Opera Android 12 Safari iOS 4.2 Samsung Internet Android 1.0 nodejs 0.10
BYTES_PER_ELEMENT Chrome 7 Edge 12 Firefox 4 IE 10 Opera 11.6 Safari 5.1 WebView Android 4 Chrome Android 18 Firefox Android 4 Opera Android 12 Safari iOS 4.2 Samsung Internet Android 1.0 nodejs 0.10
buffer Chrome 7 Edge 14 Firefox 4 IE 10 Opera 11.6 Safari 5.1 WebView Android 4 Chrome Android 18 Firefox Android 4 Opera Android 12 Safari iOS 4.2 Samsung Internet Android 1.0 nodejs 0.10
byteLength Chrome 7 Edge 14 Firefox 4 IE 10 Opera 11.6 Safari 5.1 WebView Android 4 Chrome Android 18 Firefox Android 4 Opera Android 12 Safari iOS 4.2 Samsung Internet Android 1.0 nodejs 0.10
byteOffset Chrome 7 Edge 14 Firefox 4 IE 10 Opera 11.6 Safari 5.1 WebView Android 4 Chrome Android 18 Firefox Android 4 Opera Android 12 Safari iOS 4.2 Samsung Internet Android 1.0 nodejs 0.10
Constructor without arguments Chrome 7 Edge 12 Firefox 55 IE 10 Opera 11.6 Safari 5.1 WebView Android ≤37 Chrome Android 18 Firefox Android 55 Opera Android 12 Safari iOS 5 Samsung Internet Android 1.0 nodejs 0.10
copyWithin Chrome 45 Edge 14 Firefox 34 IE No Opera 36 Safari 9.1 WebView Android No Chrome Android No Firefox Android 34 Opera Android No Safari iOS 9.3 Samsung Internet Android No nodejs 4.0.0
entries Chrome 45 Edge 14 Firefox 37 IE No Opera 36 Safari No WebView Android No Chrome Android 45 Firefox Android 37 Opera Android No Safari iOS No Samsung Internet Android 5.0 nodejs 0.12
every Chrome 45 Edge 14 Firefox 37 IE No Opera 36 Safari No WebView Android No Chrome Android 45 Firefox Android 37 Opera Android No Safari iOS No Samsung Internet Android 5.0 nodejs 4.0.0
fill Chrome 45 Edge 14 Firefox 37 IE No Opera 36 Safari No WebView Android No Chrome Android 45 Firefox Android 37 Opera Android No Safari iOS No Samsung Internet Android 5.0 nodejs 4.0.0
filter Chrome 45 Edge 14 Firefox 38 IE No Opera No Safari No WebView Android No Chrome Android 45 Firefox Android 38 Opera Android No Safari iOS No Samsung Internet Android 5.0 nodejs 4.0.0
find Chrome 45 Edge 14 Firefox 37 IE No Opera 32 Safari No WebView Android 45 Chrome Android 45 Firefox Android 37 Opera Android 32 Safari iOS No Samsung Internet Android 5.0 nodejs 4.0.0
findIndex Chrome 45 Edge 14 Firefox 37 IE No Opera 32 Safari No WebView Android 45 Chrome Android 45 Firefox Android 37 Opera Android 32 Safari iOS No Samsung Internet Android 5.0 nodejs 4.0.0
forEach Chrome 45 Edge 14 Firefox 38 IE No Opera 32 Safari 10 WebView Android 45 Chrome Android 45 Firefox Android 38 Opera Android 32 Safari iOS 10 Samsung Internet Android 5.0 nodejs 4.0.0
from Chrome 45 Edge 14 Firefox 38 IE No Opera No Safari 10 WebView Android No Chrome Android No Firefox Android 38 Opera Android No Safari iOS 10 Samsung Internet Android No nodejs 4.0.0
includes Chrome 47 Edge 14 Firefox 43 IE No Opera 34 Safari 10 WebView Android No Chrome Android 47 Firefox Android 43 Opera Android 34 Safari iOS 10 Samsung Internet Android 5.0 nodejs 6.0.0
6.0.0
5.0.0
Disabled
Disabled From version 5.0.0: this feature is behind the --harmony runtime flag.
Indexed properties not consulting prototype Chrome 7
7
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Edge 12
12
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Firefox 25 IE 10
10
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Opera 11.6
11.6
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Safari 5.1
5.1
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
WebView Android ≤37
≤37
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Chrome Android 18
18
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Firefox Android 25 Opera Android 12
12
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Safari iOS 5
5
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
Samsung Internet Android 1.0
1.0
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
nodejs 0.10
0.10
Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
indexOf Chrome 45 Edge 14 Firefox 37
37
Starting with Firefox 47, this method will no longer return -0 。例如, new Uint8Array([0]).indexOf(0, -0) will now always return +0 .
IE No Opera 32 Safari No WebView Android No Chrome Android 45 Firefox Android 37
37
Starting with Firefox 47, this method will no longer return -0 。例如, new Uint8Array([0]).indexOf(0, -0) will now always return +0 .
Opera Android 32 Safari iOS No Samsung Internet Android 5.0 nodejs 4.0.0
Iterable in constructor Chrome 39 Edge 14 Firefox 52 IE No Opera 26 Safari 10 WebView Android 39 Chrome Android 39 Firefox Android 52 Opera Android 26 Safari iOS 10 Samsung Internet Android 4.0 nodejs 4.0.0
join Chrome 45 Edge 14 Firefox 37 IE No Opera 32 Safari No WebView Android 45 Chrome Android 45 Firefox Android 37 Opera Android 32 Safari iOS No Samsung Internet Android 5.0 nodejs 4.0.0
keys Chrome 38 Edge 14 Firefox 37 IE No Opera 25 Safari 10 WebView Android 38 Chrome Android 38 Firefox Android 37 Opera Android 25 Safari iOS 10 Samsung Internet Android 3.0 nodejs 0.12
lastIndexOf Chrome 45 Edge 14 Firefox 37
37
Starting with Firefox 47, this method will no longer return -0 。例如, new Uint8Array([0]).lastIndexOf(0, -0) will now always return +0 .
IE No Opera 32 Safari 10 WebView Android 45 Chrome Android 45 Firefox Android 37
37
Starting with Firefox 47, this method will no longer return -0 。例如, new Uint8Array([0]).lastIndexOf(0, -0) will now always return +0 .
Opera Android 32 Safari iOS 10 Samsung Internet Android 5.0 nodejs 4.0.0
length Chrome 7 Edge 14 Firefox 4 IE 10 Opera 11.6 Safari 5.1 WebView Android 4 Chrome Android 18 Firefox Android 4 Opera Android 12 Safari iOS 4.2 Samsung Internet Android 1.0 nodejs 0.10
map Chrome 45 Edge 14 Firefox 38 IE No Opera 32 Safari No WebView Android 45 Chrome Android 45 Firefox Android 38 Opera Android 32 Safari iOS No Samsung Internet Android 5.0 nodejs 4.0.0
name Chrome 7 Edge 12 Firefox 4 IE 10 Opera 11.6 Safari 5.1 WebView Android 4 Chrome Android 18 Firefox Android 4 Opera Android 12 Safari iOS 4.2 Samsung Internet Android 1.0 nodejs 0.10
Named properties Chrome 7 Edge 12 Firefox 30 IE 10 Opera 11.6 Safari 5.1 WebView Android ≤37 Chrome Android 18 Firefox Android 30 Opera Android 12 Safari iOS 5 Samsung Internet Android 1.0 nodejs 0.10
TypedArray() without new throws Chrome 7 Edge 14 Firefox 44 IE No Opera 15 Safari 5.1 WebView Android ≤37 Chrome Android 18 Firefox Android 44 Opera Android 14 Safari iOS 5 Samsung Internet Android 1.0 nodejs 0.12
of Chrome 45 Edge 14 Firefox 38 IE No Opera No Safari No WebView Android No Chrome Android No Firefox Android 38 Opera Android No Safari iOS No Samsung Internet Android No nodejs 4.0.0
reduce Chrome 45 Edge 14 Firefox 37 IE No Opera 32 Safari 10 WebView Android 45 Chrome Android 45 Firefox Android 37 Opera Android No Safari iOS 10 Samsung Internet Android 5.0 nodejs 4.0.0
reduceRight Chrome 45 Edge 14 Firefox 37 IE No Opera 32 Safari 10 WebView Android 45 Chrome Android 45 Firefox Android 37 Opera Android No Safari iOS 10 Samsung Internet Android 5.0 nodejs 4.0.0
reverse Chrome 45 Edge 14 Firefox 37 IE No Opera 32 Safari 10 WebView Android 45 Chrome Android 45 Firefox Android 37 Opera Android No Safari iOS 10 Samsung Internet Android 5.0 nodejs 4.0.0
set Chrome 7 Edge 14 Firefox 4 IE 10 Opera 11.6 Safari 5.1 WebView Android 4 Chrome Android 18 Firefox Android 4 Opera Android 12 Safari iOS 4.2 Samsung Internet Android 1.0 nodejs 0.10
slice Chrome 45 Edge 14 Firefox 38 IE No Opera 32 Safari 10 WebView Android 45 Chrome Android 45 Firefox Android 38 Opera Android 32 Safari iOS 10 Samsung Internet Android 5.0 nodejs 4.0.0
some Chrome 45 Edge 14 Firefox 37 IE No Opera 32 Safari 10 WebView Android 45 Chrome Android 45 Firefox Android 37 Opera Android No Safari iOS 10 Samsung Internet Android 5.0 nodejs 4.0.0
sort Chrome 45 Edge 14 Firefox 46 IE No Opera 32 Safari 10 WebView Android 45 Chrome Android 45 Firefox Android 46 Opera Android 32 Safari iOS 10 Samsung Internet Android 5.0 nodejs 4.0.0
subarray Chrome 7 Edge 14 Firefox 4 IE 10 Opera 11.6 Safari 5.1 WebView Android 4 Chrome Android 18 Firefox Android 4 Opera Android 12 Safari iOS 4.2 Samsung Internet Android 1.0 nodejs 0.12
toLocaleString Chrome 7 Edge 12 Firefox 51 IE 10 Opera 11.6 Safari 5.1 WebView Android ≤37 Chrome Android 18 Firefox Android 51 Opera Android 12 Safari iOS 5 Samsung Internet Android 1.0 nodejs 0.10
toString Chrome 7 Edge 12 Firefox 51 IE 10 Opera 11.6 Safari 5.1 WebView Android ≤37 Chrome Android 18 Firefox Android 51 Opera Android 12 Safari iOS 5 Samsung Internet Android 1.0 nodejs 0.10
values Chrome 38 Edge 14 Firefox 37 IE No Opera 25 Safari 10 WebView Android 38 Chrome Android 38 Firefox Android 37 Opera Android 25 Safari iOS 10 Samsung Internet Android 3.0 nodejs 0.12
@@iterator Chrome 38 Edge 12 Firefox 36
36
不支持 27 — 36
Alternate Name
A placeholder property named @@iterator 被使用。
Alternate Name Uses the non-standard name: @@iterator
不支持 17 — 27
Alternate Name
A placeholder property named iterator 被使用。
Alternate Name Uses the non-standard name: iterator
IE No Opera 25 Safari 10 WebView Android 38 Chrome Android 38 Firefox Android 36
36
不支持 27 — 36
Alternate Name
A placeholder property named @@iterator 被使用。
Alternate Name Uses the non-standard name: @@iterator
不支持 17 — 27
Alternate Name
A placeholder property named iterator 被使用。
Alternate Name Uses the non-standard name: iterator
Opera Android 25 Safari iOS 10 Samsung Internet Android 3.0 nodejs 0.12
@@species Chrome 51 Edge 13 Firefox 48 IE No Opera 38 Safari No WebView Android 51 Chrome Android 51 Firefox Android 48 Opera Android 41 Safari iOS No Samsung Internet Android 5.0 nodejs 6.5.0
6.5.0
6.0.0
Disabled
Disabled From version 6.0.0: this feature is behind the --harmony runtime flag.

图例

完整支持
完整支持
不支持
不支持
见实现注意事项。
用户必须明确启用此特征。
用户必须明确启用此特征。
使用非标名称。

另请参阅

Metadata

  1. 标准内置对象
  2. TypedArray
  3. 特性
    1. TypedArray.BYTES_PER_ELEMENT
    2. TypedArray.name
    3. TypedArray.prototype.buffer
    4. TypedArray.prototype.byteLength
    5. TypedArray.prototype.byteOffset
    6. TypedArray.prototype.length
    7. get TypedArray[@@species]
  4. 方法
    1. TypedArray.from()
    2. TypedArray.of()
    3. TypedArray.prototype.copyWithin()
    4. TypedArray.prototype.entries()
    5. TypedArray.prototype.every()
    6. TypedArray.prototype.fill()
    7. TypedArray.prototype.filter()
    8. TypedArray.prototype.find()
    9. TypedArray.prototype.findIndex()
    10. TypedArray.prototype.forEach()
    11. TypedArray.prototype.includes()
    12. TypedArray.prototype.indexOf()
    13. TypedArray.prototype.join()
    14. TypedArray.prototype.keys()
    15. TypedArray.prototype.lastIndexOf()
    16. TypedArray.prototype.map()
    17. TypedArray.prototype.reduce()
    18. TypedArray.prototype.reduceRight()
    19. TypedArray.prototype.reverse()
    20. TypedArray.prototype.set()
    21. TypedArray.prototype.slice()
    22. TypedArray.prototype.some()
    23. TypedArray.prototype.sort()
    24. TypedArray.prototype.subarray()
    25. TypedArray.prototype.toLocaleString()
    26. TypedArray.prototype.toString()
    27. TypedArray.prototype.values()
    28. TypedArray.prototype[@@iterator]()
  5. Related pages:
  6. Int8Array
  7. Uint8Array
  8. Uint8ClampedArray
  9. Int16Array
  10. Uint16Array
  11. Int32Array
  12. Uint32Array
  13. Float32Array
  14. Float64Array
  15. BigInt64Array
  16. BigUint64Array
  17. 继承:
  18. Function
  19. 特性
    1. Function.arguments
    2. Function.caller
    3. Function.displayName
    4. Function.length
    5. Function.name
  20. 方法
    1. Function.prototype.apply()
    2. Function.prototype.bind()
    3. Function.prototype.call()
    4. Function.prototype.toSource()
    5. Function.prototype.toString()
  21. Object
  22. 特性
    1. Object.prototype.__proto__
    2. Object.prototype.constructor
  23. 方法
    1. Object.prototype.__defineGetter__()
    2. Object.prototype.__defineSetter__()
    3. Object.prototype.__lookupGetter__()
    4. Object.prototype.__lookupSetter__()
    5. Object.prototype.hasOwnProperty()
    6. Object.prototype.isPrototypeOf()
    7. Object.prototype.propertyIsEnumerable()
    8. Object.prototype.toLocaleString()
    9. Object.prototype.toSource()
    10. Object.prototype.toString()
    11. Object.prototype.valueOf()
    12. Object.setPrototypeOf()