WebAssembly.Table.prototype.grow()

grow()WebAssembly.Table 物件的原型方法,用於透過指定數量的元素來增加 Table 例項的大小,這些元素將使用提供的值填充。

語法

js
grow(delta)
grow(delta, value)

引數

delta

您要增加表格的元素數量。

value 可選

用於填充新分配空間的元素。

返回值

表格的先前長度。

異常

RangeError

在以下情況之一中丟擲

  • 如果當前大小加上 delta 超過了 Table 例項的最大大小容量。
  • 如果客戶端沒有足夠的記憶體來進行分配。
TypeError

如果 value 不是表格元素型別的值,則丟擲。

示例

使用 grow

以下示例建立了一個新的 WebAssembly Table 例項,初始大小為 2,最大大小為 10

js
const table = new WebAssembly.Table({
  element: "anyfunc",
  initial: 2,
  maximum: 10,
});

使用 Table.grow() 將表格增長 1 個元素

js
console.log(table.length); // 2
table.grow(1);
console.log(table.length); // 3

使用帶有值的 grow

以下示例建立了一個新的 WebAssembly Table 例項,初始大小為 0,最大大小為 4,並使用一個物件填充它

js
const myObject = { hello: "world" };

const table = new WebAssembly.Table({
  element: "externref",
  initial: 0,
  maximum: 4,
});

使用 WebAssembly.grow() 將表格增長 4 個單位,並使用一個值填充它

js
table.grow(4, myObject);
console.log(myObject === table.get(2)); // true

規範

規範
WebAssembly JavaScript 介面
# dom-table-grow

瀏覽器相容性

BCD 表格僅在瀏覽器中載入

另請參見