Tampaknya sebagian besar tips menarik dan penting telah disebutkan, jadi yang ini hanya tambahan kecil.
Tip kecil adalah fungsi jQuery.each (objek, callback) . Semua orang mungkin menggunakan fungsi jQuery.each (callback) untuk beralih pada objek jQuery itu sendiri karena itu alami. Fungsi utilitas jQuery.each (objek, callback) berulang di atas objek dan array. Untuk waktu yang lama, saya entah bagaimana tidak melihat apa yang bisa terjadi selain dari sintaks yang berbeda (saya tidak keberatan menulis semua loop fashion), dan saya agak malu bahwa saya menyadari kekuatan utamanya baru-baru ini.
Masalahnya adalah karena tubuh loop di jQuery.each (objek, callback) adalah fungsi , Anda mendapatkan ruang lingkup baru setiap kali dalam loop yang sangat nyaman ketika Anda membuat penutupan di loop.
Dengan kata lain, kesalahan umum yang umum terjadi adalah melakukan sesuatu seperti:
var functions = [];
var someArray = [1, 2, 3];
for (var i = 0; i < someArray.length; i++) {
functions.push(function() { alert(someArray[i]) });
}
Sekarang, ketika Anda menjalankan fungsi dalam functions
array, Anda akan mendapatkan peringatan tiga kali dengan konten undefined
yang kemungkinan besar tidak seperti yang Anda inginkan. Masalahnya adalah bahwa hanya ada satu variabel i
, dan ketiga penutupan merujuk padanya. Ketika loop selesai, nilai akhir dari i
adalah 3, dan someArrary[3]
ini undefined
. Anda bisa mengatasinya dengan memanggil fungsi lain yang akan membuat penutupan untuk Anda. Atau Anda menggunakan utilitas jQuery yang pada dasarnya akan melakukannya untuk Anda:
var functions = [];
var someArray = [1, 2, 3];
$.each(someArray, function(item) {
functions.push(function() { alert(item) });
});
Sekarang, ketika Anda menjalankan fungsi Anda mendapatkan tiga peringatan dengan konten 1, 2 dan 3 seperti yang diharapkan.
Secara umum, tidak ada yang tidak bisa Anda lakukan sendiri, tetapi menyenangkan untuk dimiliki.