Rumah >hujung hadapan web >tutorial js >Mengapa `kembali` Tidak Memecahkan Gelung `forEach` dalam JavaScript?
Memahami Gelagat pengembalian Di Dalam untukSetiap Fungsi
Selalunya dalam JavaScript, terdapat salah tanggapan tentang kelakuan kata kunci pulangan dalam fungsi forEach . Artikel ini bertujuan untuk menjelaskan penggunaan yang dimaksudkan.
Pertimbangkan coretan kod berikut:
$('button').click(function () { [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); }); });
Dalam kod ini, penyataan pemulangan digunakan dalam gelung forEach untuk menghentikan lelaran lebih awal. Walau bagaimanapun, kod itu masih meneruskan untuk memberi amaran kepada elemen seterusnya dalam tatasusunan. Mengapa ini berlaku?
Sifat Sebenar pulangan dalam forEach
Bertentangan dengan kepercayaan popular, pernyataan pulangan dalam fungsi forEach mempunyai makna yang berbeza daripada yang berlaku dalam binaan gelung seperti untuk atau sementara. Dalam forEach, return tidak menandakan penamatan awal gelung.
Penjelasan Rangkaian Pembangun Mozilla
Menurut dokumentasi rasmi Mozilla Developer Network:
"Tiada cara untuk menghentikan atau memecahkan gelung forEach() selain dengan melemparkan pengecualian. Jika anda memerlukan sedemikian tingkah laku, kaedah forEach() ialah alat yang salah."
Pendekatan Alternatif
Jika matlamat anda adalah untuk menghentikan lelaran gelung secara bersyarat, terdapat alternatif kaedah yang tersedia:
Atas ialah kandungan terperinci Mengapa `kembali` Tidak Memecahkan Gelung `forEach` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!