Область видимості змінних

Змінні, що створені в основному потоці, є глобальними, доступними по всьому скрипту (скриптам) нижче по коду.

Змінні, що створені всередині функції, видимі лише всередині функції.

Запустіть та проаналізуйте наступний код:

var a = 5;
function fun(){
  a = 14;
  var b = 8;
  console.log('In function:', a, b);
}
fun();
console.log('In main stream:', a, b);

Функції та змінні можуть знаходитися в різних файлах. Створіть новий проект з трьома js-файлами.

Підключіть скрипти в порядку зростання індекса, запустіть сторінку в браузері і перевірте консоль.

// script1.js
var aaa = 5;
var fun3 = function(a, b){ return a + b; }

// script2.js
aaa = aaa - 1;
function fun2(){ console.log(aaa); }
var bbb = 7;

// script3.js
fun2();
console.log(fun3(aaa, bbb));

Якщо є і локальні і глобальні змінні з однаковим іменем - вони не перезаписуються та не конфліктують між собою:

var a = 5;
function fun(){
  var a = 8;
  console.log('In function:', a);
}
fun();
console.log('In main stream:', a);