gpt4 book ai didi

javascript - 当从 `Uint8Array` 构造时,两个不相等的 `ArrayBuffer` 如何相互影响?

转载 作者:行者123 更新时间:2023-12-01 01:19:25 31 4
gpt4 key购买 nike

我有一个 ArrayBuffer,我想从中获取两个单独的 Uint8Array 副本。我尝试在 ArrayBuffer 上使用 Uint8Array 构造函数两次。构造的数组实例不相等。然而,当你改变其中一个时,它也会以同样的方式改变另一个。这怎么可能,为什么会这样?

Unequal arrays magically influencing each other

另一方面,如果您从构造的 Uint8Array 构造新的 Uint8Array,它们将按照预期在功能上分离。

Unequal arrays working properly

最佳答案

TypedArray 内部的条目实际上存储在底层缓冲区中,如果您获取/设置该数组,它就会从缓冲区读取/写入。如果您从另一个 TypedArray 创建 TypedArray,则底层缓冲区将被复制,因此数组将不会被链接。

 array.buffer === array1.buffer // true
array1.buffer === array2.buffer // false

关于javascript - 当从 `Uint8Array` 构造时,两个不相等的 `ArrayBuffer` 如何相互影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54372623/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com