Apabila menulis program JavaScript menggunakan jQuery, fungsi gelung sering digunakan untuk melintasi tatasusunan atau objek. Tetapi kadangkala kita perlu menghentikan pelaksanaan fungsi gelung, seperti apabila syarat tertentu dipenuhi dan gelung perlu ditamatkan. Jadi bagaimana untuk menghentikan pelaksanaan fungsi gelung? Artikel ini akan memperkenalkan beberapa kaedah.
1. Gunakan pernyataan break
Pernyataan break JavaScript boleh digunakan untuk keluar dari gelung. Apabila menggunakan fungsi each() jQuery, anda boleh menggunakan pernyataan putus dalam badan gelung untuk menamatkan gelung. Contohnya:
$.each([1, 2, 3, 4, 5], function(index, value) { console.log(value); if (value === 3) { return false; // 等效于 break } });
Dalam contoh ini, kaedah $.each() merentasi tatasusunan dan mengeluarkan nilai setiap elemen. Apabila nilai elemen bersamaan dengan 3, peranan penyataan pecah akan dimainkan. Pada ketika ini, gelung ditamatkan dan hasil keluarannya ialah:
1 2 3
Ambil perhatian bahawa pernyataan return false dan break di sini mempunyai kesan yang sama, kerana di dalam fungsi each(), jika fungsi mengembalikan false, ia bersamaan dengan menggunakan pernyataan putus Break out of the loop.
2. Gunakan penanda pembolehubah
Dalam sesetengah kes, penyataan rehat mungkin tidak dapat digunakan secara langsung untuk menamatkan gelung . Contohnya:
var stopped = false; $.each([1,2,3,4,5], function(index, value){ console.log(value); if(value == 3) { stopped = true; return false; } }); if(stopped) { console.log('循环被停止了!'); }
Di sini kita menggunakan pembolehubah bernama stopped
dan menetapkannya kepada benar apabila kita melintasi ke 3. Kemudian pembolehubah dinilai selepas gelung Jika ia benar, ia bermakna gelung dihentikan. Walau bagaimanapun, perlu diingatkan bahawa jika anda perlu menggunakan pembolehubah penanda setiap kali, ia boleh menyebabkan kebolehbacaan kod yang lemah Pada masa yang sama, penamaan pembolehubah juga perlu berhati-hati.
3 Gunakan parameter kedua $.each()
Selain menerima dua parameter (parameter pertama ialah objek yang dilalui, parameter kedua ialah fungsi panggil balik), dan ada. ialah parameter pilihan ketiga, yang menunjukkan sama ada untuk membatalkan gelung. Apabila parameter ketiga adalah benar, gelung akan dibatalkan False, gelung akan diteruskan.
Contohnya:
$.each([1,2,3,4,5], function(index, value){ console.log(value); if(value == 3) { return false; } }, true);
Hasil yang dikembalikan ialah:
1 2 3
Perlu diingat bahawa jika parameter ketiga adalah benar, nilai parameter ketiga akan bertindak sebagai objek gelung. Oleh itu, kita juga boleh menulis seperti ini:
$.each([1,2,3,4,5], function(index, value, stop){ console.log(value); if(value == 3) { stop(); } }, true);
Kelebihan ini ialah: kita boleh menggunakan nama fungsi stop() dan bukannya pernyataan palsu pulangan untuk meningkatkan kebolehbacaan kod. Pada masa yang sama, kami juga boleh menulis kod gelung penamatan kami secara fleksibel dalam fungsi stop().
4. Gunakan kaedah gelung lain
Terdapat fungsi gelung jQuery lain, seperti map(), grep(), inArray(), dsb., yang kesemuanya mempunyai fungsi menggugurkan gelung. Contohnya:
var arr = [1,2,3,4,5]; $.map(arr, function(val, i){ console.log(val); if(val == 3) { return null; } });
Dalam contoh ini, kami menggunakan kaedah map(). Kaedah map() akan melaksanakan fungsi panggil balik sekali untuk setiap elemen dalam arr tatasusunan. Apabila nilai elemen tatasusunan adalah sama dengan 3, kami mengembalikan nilai nol, yang akan menghilangkan nilai 3 daripada senarai output kaedah map(). Hasil output ialah:
1 2 4 5
Selain itu, anda juga boleh menggunakan fungsi grep() jQuery untuk melaksanakan operasi penapisan tatasusunan.
Ringkasan:
Di atas adalah beberapa cara untuk menghentikan fungsi gelung Pilih kaedah yang berbeza mengikut situasi sebenar. Antaranya, penggunaan penyataan putus dan penanda pembolehubah adalah lebih biasa dan agak mudah serta mudah difahami. Di samping itu, adalah disyorkan untuk tidak menggunakan kod yang pendek dan ringkas secara membuta tuli dan kebolehselenggaraan kod adalah yang paling penting.
Atas ialah kandungan terperinci fungsi gelung berhenti jquery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!