JavaScript tyyppimäärittelyt viittausoppikirja
- Edellinen sivu JS-lauseet
- Seuraava sivu Window-objekti
JavaScript 类型化数组
在 Javascript 中,类型化数组是二进制数据的类似数组的缓冲区。
不存在名为 TypedArray 的 JavaScript 属性或对象,但属性和方法可以与类型化数组对象一起使用:
实例
const myArr = new Int8Array(10);
类型化数组的对象
对象 | 数据类型 | 范围 |
---|---|---|
Int8Array | 有符号整数(字节) | -128/127 |
Uint8Array | 无符号整数(八位字节) | 0/255 |
Uint8ClampedArray | 无符号整数(八位字节) | 0/255 |
Int16Array | 短整数 | -32768/32767 |
Uint16Array | 无符号短整数 | 0/65535 |
Int32Array | 有符号长整数 | -231/231-1 |
Uint32Array | 无符号长整数 | 0/232 |
Float32Array | 浮点 - 7 位有效数字 | 1.2x10-38/3.4x1038 |
Float64Array | 双精度浮点 - 16 位有效数字 | 5.0x10-324/1.8x10308 |
BigInt64Array | 有符号大整数 | -263/263-1 |
BigUint64Array | Nouseva suurempi kokonaisluku | 0/264 |
Selitys
Tyyppiohjelmistot eivät ole taulukoita.
Tyyppiohjelmistojen isArray() palauttaa false.
Tyyppiohjelmistot eivät tue monia taulukon menetelmiä (kuten push ja pop).
Tyyppiohjelmistot ovat taulukon kaltaisia objekteja, joita käytetään binaaridataksen tallentamiseen muistissa.
Typed Array -menetelmät ja attribuutit
Metodi / attribuutti | Kuvaus |
---|---|
BYTES_PER_ELEMENT | Laske attribuutti, joka kuvaa yhden elementin tallennustilaa. |
fill() | Täytä kaikki elementit arvolla. |
find() | Palauta ensimmäinen täyttävä elementti. |
nimi | Palauta tyyppiohjelmiston nimi. |
of() | Luo tyyppiohjelmisto taulukosta. |
some() | Jos elementti täyttää ehdot, palautetaan true. |
Uint8Array ja Uint8ClampedArray
Uint8Array- ja Uint8ClampedArray-tyyppisten taulukoiden välinen ero on arvojen lisääntymistapa.
Jos Uint8ClampedArray-tyyppisen taulukon elementti asetetaan arvoon, joka ei ole välillä 0-255, se oletetaan olevan 0 tai 255.
Tyyppiohjelmistot ottavat vain ensimmäiset 8 bittiä arvosta.
Tyyppiohjelmistojen edut
Tyyppiohjelmistot tarjoavat binaaridataksen käsittelymenetelmän, joka toimii yhtä tehokkaasti kuin C:ssä työskentelevä taulukko.
Tyyppiohjelmistot ovat alkuperäistä muistia, joten JavaScript voi välittää ne suoraan mihin tahansa funktioon ilman, että tietoja on muutettava toiseen muotoon.
Tyyppiohjelmistot ovat paljon nopeampia kuin tavalliset taulukot, ja ne käytetään datan välittämiseen toimintoihin, jotka voivat käyttää alkuperäistä binaariaineistoa (tietokonepelit, WebGL, Canvas, tiedosto API, media API).
Selaimen API tukee tyyppiohjelmistoja
Fetch API esimerkki
fetch(url) .then(request => request.arrayBuffer()) .then(arrayBuffer =>...);
Canvas esimerkki
const canvas = document.getElementById('my_canvas'); const context = canvas.getContext('2d'); const imageData = context.getImageData(0, 0, canvas.width, canvas.height); const uint8ClampedArray = imageData.data;
Selaimen tuki
typedArray On ECMAScript6 (ES6) -ominaisuus.
Kaikki nykyaikaiset selaimet tukevat ES6 (JavaScript 2015).
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Kyllä | Kyllä | Kyllä | Kyllä | Kyllä |
Internet Explorer 11 (ja aikaisemmat versiot) ei tue typedArray.
- Edellinen sivu JS-lauseet
- Seuraava sivu Window-objekti