Rumah > hujung hadapan web > tutorial js > Mengapa Gunakan 'var that = this;' dalam JavaScript?

Mengapa Gunakan 'var that = this;' dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-12-07 14:27:19
asal
976 orang telah melayarinya

Why Use

Memahami Tujuan "var that = this;" dalam JavaScript

Apabila bekerja dengan JavaScript, anda mungkin menemui coretan kod yang menyertakan pernyataan "var that = this;". Konstruk ini memainkan peranan penting dalam mengekalkan konteks "ini" dalam fungsi bersarang, terutamanya dalam pengendali acara.

Dalam JavaScript, kata kunci "ini" mewakili konteks semasa atau objek yang memiliki kod yang digunakannya. masuk. Walau bagaimanapun, apabila fungsi digunakan dalam fungsi lain, nilai "ini" berubah. Ini boleh membawa kepada gelagat yang tidak dijangka, terutamanya dalam kod terdorong peristiwa di mana pengendali acara berada dalam panggilan balik.

Tujuan menugaskan "ini" kepada "itu" adalah untuk menangkap konteks semasa objek sebelum ia hilang kerana kepada perubahan skop. Dengan menamakan "ini" kepada "itu", anda memastikan bahawa nilai asal "ini" kekal boleh diakses walaupun dalam fungsi bersarang.

Pertimbangkan contoh berikut:

$('#element').click(function() {
    // this is a reference to the element clicked on

    var that = this;

    $('.elements').each(function() {
        // this is a reference to the current element in the loop
        // that is still a reference to the element clicked on
    });
});
Salin selepas log masuk

Dalam kod ini , fungsi pengendali acara mempunyai akses kepada elemen yang telah diklik melalui kata kunci "ini". Walau bagaimanapun, dalam fungsi bersarang (setiap()), nilai "ini" merujuk kepada elemen semasa dalam gelung. Dengan menangkap "ini" sebagai "itu" dalam fungsi luar, anda masih boleh mengakses elemen yang pada mulanya diklik.

Menggunakan alias selain daripada "itu" ialah amalan yang disyorkan untuk kebolehbacaan. Dalam contoh di atas, alias yang lebih deskriptif seperti "clickedEl" akan menjadikannya lebih jelas maksud pembolehubah itu.

Sebagai kesimpulan, "var that = this;" ialah teknik biasa dalam JavaScript untuk mengekalkan nilai "ini" merentas skop yang berbeza. Ia memastikan bahawa konteks asal objek dikekalkan walaupun apabila fungsi bersarang digunakan.

Atas ialah kandungan terperinci Mengapa Gunakan 'var that = this;' dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan