JavaScriptFloat32Array

原创
admin 4个月前 (08-19) 阅读数 48 #JavaScript

Float32Array

Float32Array 是 JavaScript 中的一种类型化数组,用于表示 32 位浮点数数组。它对应于 C 语言中的浮点数据类型,使用平台字节顺序。如果需要控制字节顺序,可以使用 DataView 对象替代。创建 Float32Array 时,其内容会被初始化为 0。创建后,可以通过对象的方法操作元素,或者使用标准数组索引语法(方括号)访问和修改元素。

语法

Float32Array 可以通过以下几种方式创建:

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() 方法。

实例属性

Float32Array 还从其父接口 TypedArray 继承实例属性。

  • Float32Array.prototype.constructor

  • 返回创建实例原型的函数,即 Float32Array 的默认构造函数。

  • Float32Array.prototype.buffer

  • 返回 Float32Array 引用的 ArrayBuffer。此属性在构造时固定,为只读属性。

  • Float32Array.prototype.byteLength

  • 返回从 ArrayBuffer 开始到 Float32Array 结束的长度(以字节为单位)。此属性在构造时固定,为只读属性。

  • Float32Array.prototype.byteOffset

  • 返回从 ArrayBuffer 开始到 Float32Array 的偏移量(以字节为单位)。此属性在构造时固定,为只读属性。

  • Float32Array.prototype.length

  • 返回 Float32Array 中的元素个数。此属性在构造时固定,为只读属性。

实例方法

Float32Array 从其父接口 TypedArray 继承实例方法。

示例

// 从长度创建
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

// 从数组创建
var arr = new Float32Array([21, 31]);
console.log(arr[1]); // 31

// 从另一个 TypedArray 创建
var x = new Float32Array([21, 31]);
var y = new Float32Array(x);
console.log(y[0]); // 21

// 从 ArrayBuffer 创建
var buffer = new ArrayBuffer(16);
var z = new Float32Array(buffer, 0, 4);

规范

Float32Array 遵循 ECMAScript 2026 Language Specification 中的 TypedArray 对象规范。

浏览器兼容性

Float32Array 在所有现代浏览器中都有良好的支持,包括 Chrome、Firefox、Safari 和 Edge。该功能自 2015 年 7 月起已在各浏览器中可用。

一致性提示

从 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]);

参见

  • JavaScript typed arrays

  • ArrayBuffer

  • DataView

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。

作者文章
热门
最新文章
标签列表