DataView.prototype.setBigInt64()
åºçº¿
广æ³å¯ç¨
èª 2021å¹´9æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
**setBigInt64()**æ¹æ³å¨è·DataView çèµ·å§ä½ç½®çæå®åèåç§»å¤åå¨ä¸ä¸ªå¸¦ç¬¦å·ç 64 使´æ°ï¼long long ç±»åï¼å¼ã
å°è¯ä¸ä¸
// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(16);
// Highest possible BigInt value that fits in a signed 64-bit integer
const max = 2n ** (64n - 1n) - 1n;
const view = new DataView(buffer);
view.setBigInt64(1, max);
console.log(view.getBigInt64(1));
// Expected output: 9223372036854775807n
è¯æ³
dataview.setBigInt64(byteOffset, value [, littleEndian])
åæ°è¯´æ
- byteOffset
-
åèåç§»éï¼ä¸ºä»è§å¾çèµ·å§ä½ç½®å°æ°æ®åå¨ä½ç½®çåèåèåç§»éã
- value
-
ä½ä¸ºä¸ä¸ª
BigIntç±»åè®¾ç½®çæ°å¼ã满足ä¸ä¸ªå¸¦ç¬¦å·ç 64 使´æ°çæå¤§å¯è½æ°å¼æ¯2n ** (64n -1n) - 1n(9223372036854775807n)ãå½åçæº¢åºæ¶ï¼å°ä¼åæè´æ° (-9223372036854775808n)ã - littleEndian
-
å¯é 为å¯éåæ°ï¼è¡¨ç¤ºè¿ä¸ª 64 使´æ°æ¯å¦ä»¥little-endian æè big-endianæ ¼å¼åå¨ãå¦æè®¾ç½®ä¸º
falseæè æªæå®ï¼undefinedï¼ï¼å°ä¼åå ¥ä¸ä¸ª big-endianï¼å¤§ç«¯æ¨¡å¼ï¼é«ä½åèææ¾å¨å åçä½å°å端ï¼ä½ä½åèææ¾å¨å åçé«å°åç«¯ï¼æ ¼å¼çæ°å¼ã
è¿åå¼
æåºçé误
RangeError-
妿
byteOffset设置导è´åå¨è¯¥æ°å¼æ¶è¶ åºäºè§å¾çæ«å°¾ä½ç½®ï¼å°ä¼æåºé误ã
示ä¾
>ä½¿ç¨ setBigInt64 æ¹æ³
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setBigInt64(0, 3n);
dataview.getBigInt64(0); // 3n
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-dataview.prototype.setbigint64> |