[][] ialah tatasusunan kosong dalam JavaScript yang memberikan akses kepada prototaip tatasusunan seperti . untukSetiap. Mekanisme ini sering digunakan untuk mengulangi senarai nod kerana ia menawarkan cara yang mudah untuk melaksanakan fungsi pada setiap elemen dalam senarai nod.
Kaedah .call() ialah prototaip fungsi yang membolehkan anda menggantikan kata kunci 'ini' dalam fungsi dengan objek tertentu. Dalam konteks [].forEach.call(), tatasusunan kosong ditetapkan sebagai objek pemanggil (ini), manakala senarai nod diluluskan sebagai argumen pertama kepada kaedah .forEach().
Teknik ini memudahkan proses gelung pada senarai nod dengan menyediakan akses terus kepada sifat dan kaedah seperti tatasusunan. Fungsi yang dihantar kepada .forEach() menerima tiga argumen:
Sebagai contoh, coretan kod berikut menggunakan [].forEach.call() untuk mengulangi semua teg 'a' pada halaman web:
``
[].forEach. call(document.querySelectorAll('a'), function(el) {
// Lakukan sesuatu dengan setiap tag 'a'
});
``
While .forEach( ) ialah cara yang mudah untuk mengulangi senarai nod, perlu diperhatikan bahawa penyelesaian yang godam dan tidak sedap dipandang, seperti menggunakan [].forEach.call(), boleh mengeruhkan pangkalan kod anda. Adalah disyorkan untuk berpegang pada gelung sebaris atau menggunakan kaedah dan perpustakaan pembantu bersih yang menyediakan fungsi ini dengan cara yang lebih mudah dibaca dan diselenggara.
ES6 memperkenalkan pilihan yang lebih mudah, seperti operator Rehat dan Sebarkan, yang menjadikannya lebih mudah untuk menukar antara tatasusunan dan objek seperti tatasusunan, menghapuskan keperluan untuk pendekatan hackish.
Atas ialah kandungan terperinci ## Mengapa Gunakan `[].forEach.call()` untuk Mengulangi Senarai Nod dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!