Pieejas pie ārējiem mainīgajiem funkcijās JavaScript
Apskatīsim šādu kodu:
let num = 1; // iestatām mainīgā vērtību
function func() {
console.log(num); // izvadām to konsolē
}
func(); // izsaucam funkciju
Kā jau iepriekš minēju, mainīgā vērtībai nav obligāti jābūt pirms funkcijas definīcijas, galvenais, lai tā būtu pirms tās izsaukšanas:
function func() {
console.log(num);
}
let num = 1;
func();
Patiesībā tas nav gluži tā. Mūsu funkcija
zin mainīgā vērtību pat pirms savas izsaukšanas
num:
let num = 1;
function func() {
console.log(num); // funkcija jau zina, ka num = 1
}
Šeit ir sarežģītāks piemērs:
let num = 1; // funkcija šajā brīdī uzzina, ka num = 1
function func() {
console.log(num);
}
num = 2; // funkcija šajā brīdī uzzina, ka num = 2
Pievienosim funkcijas izsaukumus:
let num = 1; // funkcija šajā brīdī uzzina, ka num = 1
func(); // izvadīs 1
function func() {
console.log(num);
}
func(); // izvadīs 1
num = 2; // funkcija šajā brīdī uzzina, ka num = 2
func(); // izvadīs 2
Vēlreiz: patiesībā funkcija zina ārējo mainīgo vērtības, pat ja tā nav izsaukta.