Совпадение имен с параметрами в JavaScript

Параметры функции являются локальными переменными внутри нее. Давайте назовем параметр функции таким же именем, как и внешнюю глобальную переменную:

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

В данном случае у нас получится так, что снаружи функции будет переменная num и внутри функции будет переменная num. Но это будут разные переменные: изменение переменной внутри функции будет приводить к изменению локальной переменной функции. А внешняя переменная внутри функции будет недоступна и не сможет быть изменена никаким способом. Проверим:

function func(num) { num = 2; // меняем локальную переменную } let num = 1; func(num); console.log(num); // выведет 1 - ничего не поменялось

Определите, не запуская код, что выведется в консоль:

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

Определите, не запуская код, что выведется в консоль:

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

Определите, не запуская код, что выведется в консоль:

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



Чат с GPT Компилятор