Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
⊗jsPmClOVA 259 of 505 menu

Досціп да знешніх зменных функцый у JavaScript

Давайце разгледзім наступны код:

let num = 1; // задаем значэнне зменнай function func() { console.log(num); // выводзім яго ў кансоль } func(); // выклікаем функцыю

Як я ўжо згадваў раней, значэнне зменнай не абавякова павінна быць перад вызначэннем функцыі, галоўнае, каб яно стаяла перад яе выклікам:

function func() { console.log(num); } let num = 1; func();

На самой справе гэта не зусім так. Нашая функцыя нават да свайго выкліку ведае значэнне зменнай num:

let num = 1; function func() { console.log(num); // функцыя ўжо ведае, што num = 1 }

Вось больш складаны прыклад:

let num = 1; // функцыя ў гэты момант даведваецца, што num = 1 function func() { console.log(num); } num = 2; // функцыя ў гэты момант даведваецца, што num = 2

Дадаем выклікі функцыі:

let num = 1; // функцыя ў гэты момант даведваецца, што num = 1 func(); // выведе 1 function func() { console.log(num); } func(); // выведе 1 num = 2; // функцыя ў гэты момант даведваецца, што num = 2 func(); // выведе 2

Яшчэ раз: на самой справе функцыя ведае значэння знешніх зменных, нават не будучы выкліканай.

byenru