键入数组的局限性?

时间:2011-05-18 08:06:34

标签: javascript typed-arrays

我已经完成了一些使用Firefox 4的类型化阵列,并注意到了一些事情。

  • 可以创建的ArrayBuffer的大小是[0..2147483647]范围内的整数。传递2147483648会传递与传递否定号码相同的错误,传递4294967296会返回空ArrayBuffer,传递4294967297会返回长度为{{1}的ArrayBuffer }}。因此,我假设size值被解释为带符号的32位整数。

  • 虽然默认情况下1Int32Array个对象只能ArrayBuffer是{4}的倍数,但我很惊讶byteLength导致new Int32Array(new ArrayBuffer(2147483644)); 1}}抛出相同的错误,我会传递一个不是四的倍数的Int32Array,而另外四个的其他较低倍数确实是ArrayBuffer大小。

虽然我注意到的第一件事是非常正常的(虽然有点浪费,但有些人已经选择了签名整数),我对我注意到的第二件事特别好奇。这些实现行为是否在任何规范中正式定义?

0 个答案:

没有答案