offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsPmClOVA 257 of 503 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

Еще раз: на самом деле функция знает значения внешних переменных, даже не будучи вызванной.

enru