[][] は、 のような配列プロトタイプへのアクセスを許可する JavaScript の空の配列です。それぞれ。このメカニズムは、ノード リストの各要素に対して関数を実行する便利な方法を提供するため、ノード リストを反復処理するためによく使用されます。
.call() メソッドは、関数プロトタイプであり、指定されたオブジェクトを含む関数内の 'this' キーワード。 [].forEach.call() のコンテキストでは、空の配列が呼び出し元オブジェクト (this) として割り当てられ、ノード リストが最初の引数として .forEach() メソッドに渡されます。
この手法では、配列のようなプロパティとメソッドに直接アクセスできるようにすることで、ノード リストをループするプロセスを簡素化します。 .forEach() に渡される関数は 3 つの引数を受け取ります:
たとえば、次のコード スニペットは [].forEach.call() を使用して、Web ページ上のすべての 'a' タグを反復処理します。
``
[].forEach. call(document.querySelectorAll('a'), function(el) {
// 各 'a' タグで何かを実行します
});
``
while .forEach( ) はノード リストを反復処理する便利な方法ですが、[].forEach.call() の使用などのハック的で見苦しいソリューションはコードベースを乱雑にする可能性があることに注意してください。インライン ループに固執するか、この機能をより読みやすく保守しやすい方法で提供するクリーンなヘルパー メソッドとライブラリを使用することをお勧めします。
ES6 では、Rest 演算子や Spread 演算子など、より簡単なオプションが導入されています。配列と配列のようなオブジェクト間の変換が容易になり、ハック的なアプローチが不要になります。
以上が## JavaScript でノード リストを反復処理するために `[].forEach.call()` を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。