JavaScript функцияларының сыртқы айнымалыларға қол жеткізуі
Келесі кодты қарастырайық:
let num = 1; // айнымалыға мән береміз
function func() {
console.log(num); // оны консольге шығарамыз
}
func(); // функцияны шақырамыз
Мен бұған дейін айтқанымдай, айнымалының мәні function анықтамасының алдында болуы міндетті емес, негізгісі, ол function шақырудың алдында болуы керек:
function func() {
console.log(num);
}
let num = 1;
func();
Шындығында бұл толығымен дұрыс емес. Біздің function
тіпті өз шақырылуына дейін num айнымалысының мәнін біледі:
let num = 1;
function func() {
console.log(num); // function num = 1 екенін біледі
}
Мұнда күрделірек мысал:
let num = 1; // function осы сәтте num = 1 екенін біледі
function func() {
console.log(num);
}
num = 2; // function осы сәтте num = 2 екенін біледі
Function шақыруларды қосамыз:
let num = 1; // function осы сәтте num = 1 екенін біледі
func(); // 1 шығарады
function func() {
console.log(num);
}
func(); // 1 шығарады
num = 2; // function осы сәтте num = 2 екенін біледі
func(); // 2 шығарады
Тағы бір рет: шындығында function сыртқы айнымалылардың мәндерін тіпті шақырылмаған күйінде біледі.