Toegang tot eksterne veranderlikes van funksies in JavaScript
Kom ons kyk na die volgende kode:
let num = 1; // stel die veranderlike se waarde
function func() {
console.log(num); // vertoon dit in die konsole
}
func(); // roep die funksie
Soos ek vroeër genoem het, hoef die waarde van die veranderlike nie noodwendig voor die definisie van die funksie te wees nie, die belangrijkste is dat dit voor die roeping daarvan staan:
function func() {
console.log(num);
}
let num = 1;
func();
Eintlik is dit nie heeltemal so nie. Ons funksie
weet selfs voor sy aanroep die waarde van die veranderlike
num:
let num = 1;
function func() {
console.log(num); // die funksie weet reeds dat num = 1
}
Hier is 'n meer ingewikkelde voorbeeld:
let num = 1; // op hierdie oomblik leer die funksie dat num = 1
function func() {
console.log(num);
}
num = 2; // op hierdie oomblik leer die funksie dat num = 2
Laat ons funksie-aanroepe byvoeg:
let num = 1; // op hierdie oomblik leer die funksie dat num = 1
func(); // sal 1 vertoon
function func() {
console.log(num);
}
func(); // sal 1 vertoon
num = 2; // op hierdie oomblik leer die funksie dat num = 2
func(); // sal 2 vertoon
Nogmaals: eintlik weet die funksie die waardes van eksterne veranderlikes, selfs sonder om geroep te word.