Baseline Widely available *
ArrayBuffer
å¯¹è±¡ç¨æ¥è¡¨ç¤ºéç¨çåå§äºè¿å¶æ°æ®ç¼å²åºã
宿¯ä¸ä¸ªåèæ°ç»ï¼é常å¨å
¶ä»è¯è¨ä¸ç§°ä¸ºâbyte arrayâãä½ ä¸è½ç´æ¥æä½ ArrayBuffer
ä¸çå
容ï¼èæ¯è¦éè¿ç±»ååæ°ç»å¯¹è±¡æ DataView
å¯¹è±¡æ¥æä½ï¼å®ä»¬ä¼å°ç¼å²åºä¸çæ°æ®è¡¨ç¤ºä¸ºç¹å®çæ ¼å¼ï¼å¹¶éè¿è¿äºæ ¼å¼æ¥è¯»åç¼å²åºçå
容ã
ArrayBuffer()
æé 彿°å建ä¸ä¸ªä»¥åè为åä½çç»å®é¿åº¦çæ° ArrayBuffer
ãä½ ä¹å¯ä»¥ä»ç°æçæ°æ®ï¼ä¾å¦ï¼ä» Base64 å符串æè
仿¬å°æä»¶ï¼è·åæ°ç»ç¼å²åºã
ArrayBuffer
æ¯ä¸ä¸ªå¯è½¬ç§»å¯¹è±¡ã
ArrayBuffer
对象å¯ä»¥éè¿å¨è°ç¨ ArrayBuffer()
æé 彿°æ¶å
å« maxByteLength
é项æ¥ä½¿å
¶å¤§å°å¯åãä½ å¯ä»¥éè¿è®¿é®å
¶ resizable
å maxByteLength
屿§æ¥æ¥è¯¢ ArrayBuffer
ç大尿¯å¦å¯å以åå
¶æå¤§å¼ãä½ å¯ä»¥éè¿è°ç¨ resize()
为å¯å大å°ç ArrayBuffer
åé
ä¸ä¸ªæ°ç大å°ãæ°çåèä¼è¢«åå§å为 0ã
è¿äºç¹æ§ä½¿å¾è°æ´ ArrayBuffer
ç大尿´å 髿ââå¦åï¼ä½ å¿
é¡»ä½¿ç¨æ°ç大å°å建ä¸ä¸ªç¼å²å¯æ¬ãè¿ä¹ä½¿å¾ JavaScript å¨è¿æ¹é¢ä¸ WebAssembly ç¸å½ï¼Wasm 线æ§å
åå¯ä»¥ä½¿ç¨ WebAssembly.Memory.prototype.grow()
è°æ´å¤§å°ï¼ã
ArrayBuffer
对象å¯ä»¥å¨ä¸åçæ§è¡ä¸ä¸æä¹é´ä¼ è¾ï¼å°±å Web Worker æ Service Worker 飿 ·ï¼ä½¿ç¨ç»æåå
éç®æ³ãè¿å¯ä»¥éè¿å¨ Worker.postMessage()
æ ServiceWorker.postMessage()
çè°ç¨ä¸ä¼ å
¥ ArrayBuffer
对象ä½ä¸ºå¯è½¬ç§»å¯¹è±¡æ¥å®æãå¨çº¯ JavaScript ä¸ï¼ä¹å¯ä»¥ä½¿ç¨ transfer()
æ transferToFixedLength()
æ¹æ³æ¥è½¬ç§»å
åçæææã
å½ä¸ä¸ª ArrayBuffer
å¯¹è±¡è¢«ä¼ è¾æ¶ï¼å®åæ¥ç坿¬ä¼è¢«å离ï¼detachedï¼ï¼è¿æå³çå®ä¸åå¯ç¨ãå¨ä»»ä½æ¶åï¼åªæä¸ä¸ª ArrayBuffer
ç坿¬å®é
æ¥æåºå±å
åãå离çç¼å²åºå
·æä»¥ä¸è¡ä¸ºï¼
byteLength
å为 0ï¼å¨ç¼å²åºåå
³èçç±»ååæ°ç»è§å¾ä¸ï¼ãresize()
å slice()
ï¼ä¼å¨è°ç¨æ¶æåº TypeError
ãå
³èçç±»ååæ°ç»è§å¾çæ¹æ³ä¹ä¼æåº TypeError
ãä½ å¯ä»¥éè¿å
¶ detached
屿§æ¥æ£æ¥ ArrayBuffer
æ¯å¦å·²å离ã
ArrayBuffer()
å建ä¸ä¸ªæ°ç ArrayBuffer
对象ã
ArrayBuffer[Symbol.species]
ç¨äºå建派ç对象çæé 彿°ã
ArrayBuffer.isView()
妿 arg
æ¯ ArrayBuffer è§å¾ä¹ä¸ï¼åè¿å true
ï¼ä¾å¦ç±»ååæ°ç»å¯¹è±¡æè
DataView
ãå¦åè¿å false
ã
è¿äºå±æ§å¨ ArrayBuffer.prototype
ä¸å®ä¹ï¼å¹¶ç±ææ ArrayBuffer
å®ä¾å
±äº«ã
ArrayBuffer.prototype.byteLength
ArrayBuffer
ç大å°ï¼ä»¥åè为åä½ãå®å¨æé æ¶ç¡®å®ï¼å¹¶ä¸åªæå¨ ArrayBuffer
å¯è°æ´å¤§å°çæ
åµä¸æè½éè¿ ArrayBuffer.prototype.resize()
æ¹æ³è¿è¡æ¹åã
ArrayBuffer.prototype.constructor
å建å®ä¾å¯¹è±¡çæé 彿°ãå¯¹äº ArrayBuffer
å®ä¾ï¼åå§å¼ä¸º ArrayBuffer
æé 彿°ã
ArrayBuffer.prototype.detached
åªè¯»ã妿 ArrayBuffer
å·²å离ï¼ä¼ è¾ï¼ï¼åè¿å true
ï¼å¦åè¿å false
ã
ArrayBuffer.prototype.maxByteLength
åªè¯»ï¼ArrayBuffer
å¯ä»¥è°æ´å°çæå¤§åèé¿åº¦ãå®å¨æé æ¶ç¡®å®ï¼å¹¶ä¸æ æ³æ´æ¹ã
ArrayBuffer.prototype.resizable
åªè¯»ã妿 ArrayBuffer
å¯è°æ´å¤§å°ï¼åè¿å true
ï¼å¦åè¿å false
ã
ArrayBuffer.prototype[Symbol.toStringTag]
[Symbol.toStringTag]
屿§çåå§å¼æ¯å符串 "ArrayBuffer"
ãå®ç¨äº Object.prototype.toString()
ã
ArrayBuffer.prototype.resize()
å° ArrayBuffer
è°æ´ä¸ºæå®å¤§å°ï¼ä»¥åè为åä½ã
ArrayBuffer.prototype.slice()
è¿åä¸ä¸ªæ°ç ArrayBuffer
对象ï¼å
¶å
容æ¯ä» begin
ï¼å
å«ï¼å° end
ï¼ä¸å
å«ï¼ç ArrayBuffer
çåèå
容ç坿¬ã妿 begin
æ end
ä¸ºè´æ°ï¼åå®å°ä»æ°ç»çæ«å°¾å¼å§è®¡ç®ç´¢å¼ï¼èé仿°ç»çå¼å¤´ã
ArrayBuffer.prototype.transfer()
å建ä¸ä¸ªæ°ç ArrayBuffer
对象ï¼å
¶å
容æ¯ä¸æ¤ç¼å²åºç¸åçåèå
容ï¼ç¶åå离æ¤ç¼å²åºã
ArrayBuffer.prototype.transferToFixedLength()
å建ä¸ä¸ªæ°çä¸å¯è°æ´å¤§å°ç ArrayBuffer
对象ï¼å
¶å
容䏿¤ç¼å²åºç¸åï¼ç¶åå离æ¤ç¼å²åºã
ä¸é¢çä¾åå建äºä¸ä¸ª 8 åèçç¼å²åºï¼å¹¶ä½¿ç¨ Int32Array
è§å¾å¼ç¨å®ã
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4