有没有一种方法可以将 ArrayBuffer 中的所有索引都设置为 0 并优化为快速?我知道我可以手动进行一次迭代,但我想知道是否有一些内置函数可以快速执行此操作,因为我想在每个动画帧中执行一次。
最佳答案
没有理由将 ArrayBuffer
中的内存初始化为 0
,因为这是在创建数组时自动完成的:
From MDN :
Return value
A new
ArrayBuffer
object of the specified size. Its contents are initialized to 0.
这个默认值可以一直追溯到过时的初始规范,所有浏览器都应该以这种方式运行。
此外,按理说内存会在分配时被清除,否则谁知道攻击者可能能够访问哪些内存。
对于所有其他目的:
如果需要将其初始化为 0
以外的值或清除现有数据,可以使用 the native fill
method您可以在 ArrayBuffer
的类型化数组 View (如 Uint8Array
)上使用它。虽然浏览器支持不是很好,因此您可能需要为旧浏览器加载一个 polyfill。
关于javascript - 用零初始化 Javascript ArrayBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39177711/