此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
Float32Array
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
Float32Array 类型数组代表的是平台字节顺序为 32 位的浮点数型数组 (对应于 C 浮点数据类型) 。如果需要控制字节顺序,使用 DataView 替代。其内容初始化为 0。一旦建立起来,你可以使用这个对象的方法对其元素进行操作,或者使用标准数组索引语法 (使用方括号)。
语法
new Float32Array(length); new Float32Array(typedArray); new Float32Array(object); new Float32Array(buffer [, byteOffset [, length]]);
更多的语法信息和参数,参见 TypedArray。
静态属性
Float32Array.BYTES_PER_ELEMENT-
返回元素字节数。在
Float32Array的情况下返回 4。 - Float32Array.length
-
长度属性的值为 3。关于其实际长度 (元素数量) 参见
Float32Array.prototype.length。 Float32Array.prototype-
TypedArray 对象的原型。
静态方法
Float32Array.from()-
从一个类数组对象或可遍历对象创建一个新的 Float32Array。参见
Array.from()。 Float32Array.of()-
用可变数量的参数创建一个新的 Float32Array。参见
Array.of()。
实例属性
还从其父接口 TypedArray 继承实例属性。
Float32Array.prototype.constructor-
返回创建这个实例原型的函数。这是
Float32Array默认的构造函数。 Float32Array.prototype.buffer只读-
返回这个
Float32Array引用的ArrayBuffer。构造时已固定,所以是只读的。 Float32Array.prototype.byteLength只读-
返回从
Float32Array的ArrayBuffer开头开始的长度 (以字节为单位) 。构造时已固定,所以是只读的。 Float32Array.prototype.byteOffset只读-
返回从
Float32Array的ArrayBuffer开头开始的偏移量(以字节为单位)。构造时已固定,所以是只读的。 Float32Array.prototype.length只读-
返回
Float32Array中的元素个数。构造时已固定,所以是只读的。
实例方法
从其父接口 TypedArray 继承实例方法。
示例
// From a length
var float32 = new Float32Array(2);
float32[0] = 42;
console.log(float32[0]); // 42
console.log(float32.length); // 2
console.log(float32.BYTES_PER_ELEMENT); // 4
// From an array
var arr = new Float32Array([21, 31]);
console.log(arr[1]); // 31
// From another TypedArray
var x = new Float32Array([21, 31]);
var y = new Float32Array(x);
console.log(y[0]); // 21
// From an ArrayBuffer
var buffer = new ArrayBuffer(16);
var z = new Float32Array(buffer, 0, 4);
规范
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-typedarray-objects> |
浏览器兼容性
Enable JavaScript to view this browser compatibility table.
一致性提示
从 ECMAScript 2015 (ES6) 开始, Float32Array构造函数需要用一个new操作符来构造。现在直接把Float32Array 构造函数当函数调用而不使用 new,会抛出一个TypeError。
var dv = Float32Array([1, 2, 3]);
// TypeError: calling a builtin Float32Array constructor
// 不允许不使用 new
var dv = new Float32Array([1, 2, 3]);