জাভাস্ক্রিপ্টে প্যারামিটার মাধ্যমে কনটেক্সট
সমস্যার আরও একটি সমাধান রয়েছে। আসুন
child ফাংশনটি একটি প্যারামিটার গ্রহণ
করতে দিই:
function child(param) {
// এখানে কোড থাকবে
}
আর এই ফাংশনটি কল করার সময় এটির মধ্যে
this পাঠাব:
function parent() {
child(this); // this কে প্যারামিটার হিসেবে পাঠানো হচ্ছে
function child(param) {
// param ভেরিয়েবলে পাঠানো this এর বিষয়বস্তু রয়েছে
}
}
যেহেতু child কলটি প্যারেন্ট ফাংশনের
ভিতরে করা হচ্ছে, তাই পাঠানো this টি
সঠিক জিনিসটিকেই নির্দেশ করে। তারপর এই
this টি param প্যারামিটারে যায়
এবং এই আকারে ফাংশনের ভিতরে অ্যাক্সেসযোগ্য
হয়ে যায়।
চূড়ান্ত কোডটি এখানে:
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
child(this); // this কে প্যারামিটার হিসেবে পাঠানো হচ্ছে
function child(param) {
console.log(param.value); // ইনপুটের value প্রিন্ট করছি
}
}
আগের কাজের কোডটি নিন এবং শেখা দ্বিতীয় পদ্ধতি ব্যবহার করে কোডের সমস্যাটি সংশোধন করুন।