Konteks Melalui Parameter dalam JavaScript
Terdapat satu lagi penyelesaian untuk masalah ini. Mari kita jadikan
fungsi child menerima
satu parameter:
function child(param) {
// kod akan berada di sini
}
Dan apabila memanggil fungsi ini, kita akan menghantar
this ke dalamnya
sebagai parameter:
function parent() {
child(this); // hantar this sebagai parameter
function child(param) {
// dalam pembolehubah param terletak kandungan this yang dihantar
}
}
Oleh kerana panggilan child dilakukan
dalam fungsi induk, maka this yang dihantar
juga merujuk kepada apa yang sepatutnya. Kemudian
this ini masuk ke dalam parameter param
dan dalam bentuk sedemikianlah ia akan boleh diakses di dalam fungsi.
Berikut adalah kod muktamad:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // hantar this sebagai parameter
function child(param) {
console.log(param.value); // outputkan value input
}
}
Ambil kod daripada tugas sebelumnya dan betulkan masalah kod dengan menggunakan cara kedua yang telah dipelajari.