Konteks melalui Parameter di JavaScript
Ada solusi lain untuk masalah ini. Mari kita buat
fungsi child menerima
parameter:
function child(param) {
// kode akan ada di sini
}
Dan saat memanggil fungsi ini, kita akan meneruskan
this ke dalamnya
sebagai parameter:
function parent() {
child(this); // meneruskan this sebagai parameter
function child(param) {
// dalam variabel param berisi konten this yang diteruskan
}
}
Karena pemanggilan child dilakukan
dalam fungsi induk, maka this yang diteruskan
juga mengacu pada apa yang seharusnya. Kemudian
this ini masuk ke dalam parameter param
dan akan dapat diakses di dalam fungsi dalam bentuk tersebut.
Berikut adalah kode akhirnya:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // meneruskan this sebagai parameter
function child(param) {
console.log(param.value); // menampilkan value input
}
}
Ambil kode dari tugas sebelumnya dan perbaiki masalah kode dengan menggunakan cara kedua yang telah dipelajari.