我需要一个全为零的类型化数组,特别是 Float32Array。我在想我必须手动清除它,但我注意到当我声明它时,它已经被清零了。这是规范中指定的内容吗?我可以依靠这种行为吗?
问问题
1423 次
2 回答
6
根据JavaScript 的 Typed Array Specification,内容被初始化为 0。所以你应该能够依赖这种行为。
请注意,类型化数组还没有很好的跨浏览器支持。Chrome、Safari、Firefox 和 Opera 都支持它,但 Internet Explorer 只在 IE10 中引入了支持。
我还应该提到,与普通数组相比,类型化数组目前在 Safari 中非常慢。因此,除非您的目标不是 Safari,否则您最好避免使用类型化数组。使用普通数组,所有数组值都初始化为undefined
.
于 2012-08-17T17:47:37.357 回答
-4
默认情况下null
,如果您使用大小构造它们,则数组包含。因为null == 0
您可能认为它充满了0
,或任何其他虚假值。但是,如果您尝试在数字上调用方法,例如.toString
. 或者,如果您通过一个需要数字形式的函数运行它,例如parseInt
.
理想情况下,您应该始终初始化一个数组,以便确切地知道它包含什么,尽管我个人从未听说过 JS 中的类型化数组......
于 2012-08-17T17:15:06.057 回答