ජාවාස්ක්‍රිප්ට් හි විචල්යයක් හරහා context

විසඳුම පහත පරිදි වේ: පිටත ශ්‍රිතය තුළ අපි this ඕනෑම විචල්යයකට ලියන්නෙමු එම විචල්යය අභ්‍යන්තර ශ්‍රිතය තුළට ප්‍රවේශ විය හැකිය, සියලු විචල්යයන් මෙන් (සාමාන්‍යයෙන් මෙම විචල්යය නම් කරන්නේ self ලෙස). මේ ආකාරයෙන් අපි සම්ප්‍රේශණය කරන්නෙමු this පිටත ශ්‍රිතයෙන් අභ්‍යන්තර ශ්‍රිතයට:

javascript"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();
}
Задание 1

මෙම කේතය ලබා දීමට ඉඩ දෙන්න:

html<input id="elem" value="3">
javascript"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 එකට යැවේ. දෝෂය සකසන්න කේතයේ කර්තෘගේ. ඔබ විසින් පෙළක් ලියන්න කේතයේ කර්තෘට පැහැදිලි කිරීම සමඟ, ඇයි දෝෂය ඇති වූයේ ඔහුගේ දෝෂය.