【发布时间】:2016-08-27 05:15:42
【问题描述】:
有没有一种方法可以将 ArrayBuffer 中的所有索引设置为 0 并优化为快速?我知道我可以手动进行迭代,但我想知道是否有一些内置的东西可以快速完成,因为我想在每个动画帧中执行一次。
【问题讨论】:
-
为什么不创建一个新的呢?所有内容在创建时初始化为零
有没有一种方法可以将 ArrayBuffer 中的所有索引设置为 0 并优化为快速?我知道我可以手动进行迭代,但我想知道是否有一些内置的东西可以快速完成,因为我想在每个动画帧中执行一次。
【问题讨论】:
没有理由将ArrayBuffer 中的内存初始化为0,因为这是在创建数组时自动完成的:
返回值
指定大小的新
ArrayBuffer对象。它的内容被初始化为0。
这个默认值可以追溯到过时的初始规范,所有浏览器都应该这样做。
此外,按理说内存在分配时会被清除,否则谁知道攻击者可以访问哪些内存。
如果您需要将其初始化为0 以外的值或清除现有数据,您可以使用the native fill method,您可以在ArrayBuffer 的类型化数组视图(如Uint8Array)上使用它。浏览器支持不是很好,所以你可能想为旧浏览器加载一个 polyfill。
【讨论】: