我需要一个类型化数组,具体是Float32Array,所有元素都是零。我曾考虑手动清除它,但我注意到当我声明它时,它已经被归零了。这是规范中指定的行为吗?我能依靠这种行为吗?
我需要一个类型化数组,具体是Float32Array,所有元素都是零。我曾考虑手动清除它,但我注意到当我声明它时,它已经被归零了。这是规范中指定的行为吗?我能依靠这种行为吗?
undefined
。默认情况下,如果您使用大小构造数组,则包含null
。 由于 null == 0
,因此您可能会考虑它填充了0
或任何其他虚假值。但是,如果您尝试调用数字的方法(例如.toString
),则会遇到问题。或者如果您通过期望数字形式的函数运行它,比如parseInt
,也会遇到问题。
理想情况下,您应该始终初始化数组,以便确切地知道它包含什么内容,尽管个人认为在JS中从未听说过类型化数组...
var a = []; a.length = 5; console.log(a[3])
或 var a = new Array(5); console.log(a[3])
。 - KooiIncnull
的数组,除非我误解了? - Niet the Dark Absolconsole.log(a)
显示为[undefined × 5]
。 - KooiIncJSON.stringify
来尝试找出这些“nothings”是什么,但是 typeof
显示它们是“undefined”。不管怎样,它们仍然是假值,所以我的回答仍然成立。 - Niet the Dark Absol
[1,"hello",{a:3}]
是 JavaScript 中一个有效的数组。 - jackwandersa = new Float32Array(10)
返回[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
。 我正在使用类型化数组,因为我正在使用WebGL。它们与标准数组不同,并且由于主要用于WebGL,因此有点深奥。我应该指明这一点。 - SharkCop