Rumah > Artikel > hujung hadapan web > Bagaimanakah Saya Boleh Mengekalkan Konteks dalam Panggilan Balik Pengendali Acara dalam JavaScript?
Memelihara Konteks dalam Panggilan Balik Pengendali Acara: Teknik 'self = this'
Dalam JavaScript, kaedah contoh sebagai panggilan balik pengendali acara boleh menyebabkan skop perubahan. Seperti yang ditunjukkan oleh kod yang disediakan, pengikatan peristiwa memerlukan pembolehubah untuk mengekalkan konteks panggilan, yang membawa kepada tugasan "var self = this".
Walaupun berfungsi, pendekatan ini menimbulkan kebimbangan tentang keberkesanannya. Penyelesaian yang lebih umum menangani masalah teras: menyalurkan pembolehubah dalam fungsi terbenam.
Dalam JavaScript, penutupan membenarkan akses kepada pembolehubah luaran. Walau bagaimanapun, pembolehubah pseudo seperti "ini" dan "argumen" memerlukan pengendalian yang teliti. Menetapkan mereka kepada alias dalam fungsi induk memastikan ketersediaannya dalam fungsi terbenam.
Contoh
Untuk menggunakan "ini" dalam fungsi terbenam, tetapkan ia kepada pembolehubah dan gunakan alias sebaliknya:
var that = this; function xyz() { // "this" is different here! --- but we don't care! console.log(that); // now it is the right object! function qwe() { // "this" is different here too! --- but we don't care! console.log(that); // it is the right object here too! } ... };
Pendekatan ini tidak terhad kepada "ini"; "argumen" memerlukan layanan yang sama untuk memastikan akses yang konsisten dalam fungsi terbenam.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Konteks dalam Panggilan Balik Pengendali Acara dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!