ජාවාස්ක්රිප්ට් හි විචල්යයක් හරහා context
විසඳුම පහත පරිදි වේ: පිටත ශ්රිතය තුළ අපි
this ඕනෑම විචල්යයකට ලියන්නෙමු
එම විචල්යය
අභ්යන්තර ශ්රිතය තුළට ප්රවේශ විය හැකිය,
සියලු විචල්යයන් මෙන් (සාමාන්යයෙන් මෙම විචල්යය නම් කරන්නේ
self ලෙස). මේ ආකාරයෙන් අපි සම්ප්රේශණය කරන්නෙමු
this පිටත ශ්රිතයෙන් අභ්යන්තර ශ්රිතයට:
"use strict";
let elem = document.querySelector('#elem');
elem.addEventListener('blur', parent);
function parent() {
console.log(this.value); // 'text' ප්රදර්ශනය කරයි
let self = this; // this ඕනෑම විචල්යයකට ලියන්න, උදාහරණයක් ලෙස, self
function child() {
console.log(self.value); // 'text' ප්රදර්ශනය කරයි
}
child();
}
මෙම කේතය ලබා දීමට ඉඩ දෙන්න:
<input id="elem" value="3">
"use strict";
let elem = document.querySelector('#elem');
elem.addEventListener('blur', func);
function func() {
alert( square() );
function square() {
return this.value * this.value;
}
}
කේතයේ කර්තෘට අවශ්ය වූයේ, focus නැති වූ විට
තිරය මත ඉදිරිපත් කිරීමටයි
value
ආදාන කොටුවෙන් අංකයෙහි වර්ගය. කෙසේ වෙතත්, focus නැති වූ විට
දෝෂයක් console එකට යැවේ. දෝෂය සකසන්න
කේතයේ කර්තෘගේ. ඔබ විසින් පෙළක් ලියන්න
කේතයේ කර්තෘට පැහැදිලි කිරීම සමඟ, ඇයි දෝෂය ඇති වූයේ
ඔහුගේ දෝෂය.