Memahami Penggunaan pulangan dalam forEach Function
Dalam fungsi forEach JavaScript, menggunakan kata kunci return mempunyai kesan terhad.
Kesan pulangan
Dalam masa untukSetiap fungsi panggil balik, pulangan hanya mempengaruhi pelaksanaan panggilan balik tertentu itu. Ia tidak memecahkan gelung dan tidak menghalang panggilan balik berikutnya daripada berjalan. Oleh itu, dalam contoh yang disediakan:
[1, 2, 3, 4, 5].forEach(function (n) { if (n == 3) { // it should break out here and doesn't alert anything after return false } alert(n) })
Apabila n sama dengan 3, panggilan balik akan mengembalikan palsu, yang bersamaan dengan mengembalikan "tidak ditentukan" dalam konteks ini. Walau bagaimanapun, gelung akan diteruskan seperti yang dijangkakan dan nombor seterusnya (4) akan dimaklumkan.
Kaedah Lelaran Alternatif
Jika anda perlu keluar dari gelung berdasarkan syarat, pertimbangkan untuk menggunakan kaedah lelaran alternatif seperti:
A mudah gelung:
for (let i = 0; i < array.length; i++) { if (array[i] == 3) { break; } alert(array[i]); }
Array.prototype.every():
array.every((n) => { if (n == 3) { return false; // Exit the loop } alert(n); return true; });
Dokumentasi Rangkaian Pembangun Mozilla
Seperti yang dinyatakan dalam Pembangun Mozilla Dokumentasi rangkaian:
"Tiada cara untuk menghentikan atau memecahkan gelung forEach() selain dengan membuang pengecualian. Jika anda memerlukan tingkah laku sedemikian, kaedah forEach() ialah alat yang salah."
Atas ialah kandungan terperinci Adakah `return` Menghentikan Gelung `forEach` JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!