Analisis singkat dari solusi untuk perubahan variabel yang disebabkan oleh eksekusi fungsi javascript asinkron
untuk (var i = 0; i <3; i ++) {setTimeout (function () {console.log (i)}, 0);} output konsol: 333Ini karena ketika metode ini dieksekusi, loop untuk telah dieksekusi dan setiap kali dieksekusi, itu adalah 3 bukannya 1-2-3. Pada saat ini, kita dapat menggunakan fungsi eksekusi langsung untuk membuat salinan variabel untuk setiap loop untuk penghitung waktu untuk memanggil masalah ini.
untuk (var i = 0; i <3; i ++) {setTimeout ((function () {var _i = i; return function () {console.log (_i)};}) (), 0); } Output konsol: 123Analisis singkat di atas tentang masalah pemecahan perubahan variabel yang disebabkan oleh eksekusi fungsi javascript yang tidak sinkron adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.