| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer | [Back] [Original] |
Get to know MDN better
agent web worker ShareArrayBuffer postMessage
SharedArrayBuffer SharedArrayBuffer SharedArrayBuffer SharedArrayBuffer ArrayBuffer SharedArrayBuffer
const sab = new SharedArrayBuffer(1024);
worker.postMessage(sab);
SharedArrayBuffer web API
WebGLRenderingContext.bufferData()WebGLRenderingContext.bufferSubData()WebGL2RenderingContext.getBufferSubData()Cross-Origin-Opener-Policy same-originCross-Origin-Embedder-Policy require-corp credentiallessCross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
worker Window.crossOriginIsolated WorkerGlobalScope.crossOriginIsolated
const myWorker = new Worker("worker.js");
if (crossOriginIsolated) {
const buffer = new SharedArrayBuffer(16);
myWorker.postMessage(buffer);
} else {
const buffer = new ArrayBuffer(16);
myWorker.postMessage(buffer);
}
postMessage() SharedArrayBuffer
worker Cross-Origin-Embedder-Policy Cross-Origin-Resource-Policy same-site cross-origin Cross-Origin-Resource-Policy same-origin
API
Atomics SharedArrayBuffer web WebAssembly.Memory postMessage() API SharedArrayBuffer Window worker postMessage() WebAssembly.Memory shared true Memory SharedArrayBuffer postMessage() worker Memory buffer SharedArrayBuffer worker SharedArrayBuffer WebAssembly.Memory
WebAssembly Thread SharedArrayBuffer WebAssembly
SharedArrayBuffer SharedArrayBuffer() maxByteLength SharedArrayBuffer growable maxByteLength grow() SharedArrayBuffer 0
SharedArrayBuffer JavaScript WebAssembly Wasm WebAssembly.Memory.prototype.grow()
SharedArrayBuffer
SharedArrayBuffer() SharedArrayBuffer
SharedArrayBuffer[Symbol.species] SharedArrayBuffer
SharedArrayBuffer.prototype SharedArrayBuffer
SharedArrayBuffer.prototype.byteLength SharedArrayBuffer SharedArrayBuffer.prototype.grow()
SharedArrayBuffer.prototype.constructor SharedArrayBuffer SharedArrayBuffer
SharedArrayBuffer.prototype.growable SharedArrayBuffer true false
SharedArrayBuffer.prototype.maxByteLength SharedArrayBuffer
SharedArrayBuffer.prototype[Symbol.toStringTag][Symbol.toStringTag] "SharedArrayBuffer" Object.prototype.toString()
SharedArrayBuffer.prototype.grow() SharedArrayBuffer
SharedArrayBuffer.prototype.slice() SharedArrayBuffer SharedArrayBuffer begin end begin end
const sab = new SharedArrayBuffer(1024);
sab.slice(); // SharedArrayBuffer { byteLength: 1024 }
sab.slice(2); // SharedArrayBuffer { byteLength: 1022 }
sab.slice(-2); // SharedArrayBuffer { byteLength: 2 }
sab.slice(0, 1); // SharedArrayBuffer { byteLength: 1 }
const canvas = document.querySelector("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, sab, gl.STATIC_DRAW);
| ECMAScript 2027 LanguageSpecification # sec-sharedarraybuffer-objects |
AtomicsArrayBufferCross-Origin-Opener-PolicyCross-Origin-Embedder-PolicyCross-Origin-Resource-PolicyWindow.crossOriginIsolated WorkerGlobalScope.crossOriginIsolatedSharedArrayBufferObject/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()| Web Proxy Viewer | New URL | Original Page |