


Bagaimanakah Saya Boleh Mengelakkan Masalah Penutupan Apabila Menggunakan For Loops dalam Pengendalian Acara JavaScript?
Kesalahan Penutupan dalam Gelung Pengendalian Acara
Dalam JavaScript, adalah penting untuk mengambil kira skop dan penutupan semasa berurusan dengan gelung. Seperti yang ditunjukkan dalam senario yang dibentangkan, menetapkan pengendali klik dalam gelung menggunakan pembolehubah i tanpa pengkapsulan penutupan yang betul menghasilkan gelagat yang tidak dijangka.
Isu asas berpunca daripada fakta bahawa pembolehubah i yang diisytiharkan dalam gelung dikongsi merentas lelaran. Akibatnya, apabila mana-mana pengendali klik dicetuskan, nilai i telah meningkat kepada nilai tertinggi, yang membawa kepada mesej makluman yang salah.
Untuk menyelesaikan isu ini, satu pendekatan adalah dengan menggunakan fungsi panggil balik. Fungsi ini merangkumi pembolehubah i sebagai sebahagian daripada penutupannya, memastikan setiap pengendali klik beroperasi secara bebas:
function createCallback(i) { return function() { alert('you clicked ' + i); } } $(document).ready(function() { for (var i = 0; i < 20; i++) { $('#question' + i).click(createCallback(i)); } });
Sebagai alternatif, jika menggunakan ES6, kata kunci let boleh digunakan untuk mencipta pembolehubah i berskop blok dalam setiap lelaran gelung:
for (let i = 0; i < 20; i++) { $('#question' + i).click(function() { alert('you clicked ' + i); }); }
Dengan menangani masalah penutupan, pendekatan ini memastikan setiap klik pengendali memaparkan nilai i yang betul, mewakili elemen khusus yang telah diklik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelakkan Masalah Penutupan Apabila Menggunakan For Loops dalam Pengendalian Acara JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom
