Highlight: forEach() 方法

基準線 2025
新推出

自 2025 年 6 月起,此功能已在最新的裝置和瀏覽器版本中可用。此功能可能不適用於舊裝置或瀏覽器。

Highlight 介面的 forEach() 方法對 Highlight 物件中的每個 Range 物件執行一次提供的函式,按照插入順序。

Highlight 是一個類似於 Set 的物件,因此這與使用 Set.forEach() 類似。

語法

js
forEach(callbackFn)
forEach(callbackFn, thisArg)

引數

回撥

要對每個 Range 物件執行的函式,接受三個引數

range, key

Highlight 中當前正在處理的 Range 物件。由於 Highlight 中沒有鍵,因此 range 會同時作為這兩個引數傳遞。

highlight

呼叫 forEach()Highlight 物件。

thisArg

執行 callbackFn 時用作 this 的值。

返回值

無(undefined)。

示例

下面的程式碼片段展示瞭如何建立一個包含兩個 range 的新高亮,然後使用 forEach() 方法來記錄這些 range。

js
function logRanges(range, key, highlight) {
  console.log(`Highlight object ${highlight} contains range ${range}`);
}

const text = new Text("Time is an illusion. Lunchtime doubly so.");

const range1 = document.createRange();
range1.setStart(text, 0);
range1.setEnd(text, 4);

const range2 = document.createRange();
range2.setStart(text, 21);
range2.setEnd(text, 30);

const myHighlight = new Highlight();
myHighlight.add(range1);
myHighlight.add(range2);

myHighlight.forEach(logRanges);

規範

規範
ECMAScript® 2026 語言規範
# sec-set.prototype.foreach

瀏覽器相容性

另見