ArrayBuffer

找出什麼是ArrayBuffer以及如何使用它

就像一個斑點是磁盤上可用數據的不透明表示,ArrayBuffer是內存中可用字節的不透明表示。

構造函數採用一個參數,長度以字節為單位:

const buffer = new ArrayBuffer(64)

ArrayBuffer值具有一個(只讀)屬性:byteLength,顧名思義,以字節為單位表示其長度。

它還提供了slice()創建新的實例方法ArrayBuffer從現有的位置開始,並以一個起始位置和一個可選的長度為基礎:

const buffer = new ArrayBuffer(64)
const newBuffer = buffer.slice(32, 8)

從互聯網下載數據作為ArrayBuffer

我們可以從互聯網上下載一個Blob並將其存儲到ArrayBuffer中,使用XHR

const downloadBlob = (url, callback) => {
	const xhr = new XMLHttpRequest()
	xhr.open('GET', url)
	xhr.responseType = 'arraybuffer'
<span style="color:#a6e22e">xhr</span>.<span style="color:#a6e22e">onload</span> <span style="color:#f92672">=</span> () =&gt; {
<span style="color:#a6e22e">callback</span>(<span style="color:#a6e22e">xhr</span>.<span style="color:#a6e22e">response</span>)
}

<span style="color:#a6e22e">xhr</span>.<span style="color:#a6e22e">send</span>(<span style="color:#66d9ef">null</span>)

}

免費下載我的JavaScript初學者手冊


更多瀏覽器教程: