Variáveis Globais em Funções em JavaScript

Em JavaScript (na maioria das outras linguagens, geralmente não é assim) variáveis definidas fora de uma função, serão visíveis dentro dessa função. Tais variáveis são chamadas de globais. Vamos ver um exemplo:

javascriptlet num = 1; // variável fora da função

function func() {
  console.log(num); // a variável num é visível dentro da função
}

func(); // exibirá 1

Na verdade, a variável deve ser definida não antes da definição da função, mas antes de sua chamada:

javascriptfunction func() {
  console.log(num);
}

let num = 1; // variável fora da função
func();      // exibirá 1

Se você alterar o valor da variável e depois chamar a função cada vez - console.log exibirá resultados diferentes cada vez:

javascriptfunction func() {
  console.log(num);
}

let num; // declaramos a variável

num = 1; // definimos o valor como 1
func();  // exibirá 1

num = 2; // definimos o valor como 2
func();  // exibirá 2

Se tivermos várias funções, então a variável global estará disponível em cada uma dessas funções:

javascriptfunction func1() {
  console.log(num);
}

function func2() {
  console.log(num);
}

let num = 1;

func1(); // exibirá 1
func2(); // exibirá 1

Se em uma das funções ocorrerem alterações na variável global, então essa variável mudará em todas as funções que usam essa variável:

javascriptfunction func1() {
  console.log(num);
  num++; // alteramos a variável global
}

function func2() {
  console.log(num);
}

let num = 1;

func1(); // exibirá 1
func2(); // exibirá 2

Como qualquer uma das funções pode facilmente alterar a variável global, seu uso representa um criadouro de erros difíceis de detectar. Por esse motivo, o uso de variáveis globais em um script deve ser minimizado. É desejável que não existam nenhuma ou que exista a quantidade mínima possível.

Задание 1

Determine, sem executar o código, o que será exibido no console:

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

func();
Задание 2

Determine, sem executar o código, o que será exibido no console:

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

num = 2;
func();
Задание 3

Determine, sem executar o código, o que será exibido no console:

javascriptfunction func() {
  console.log(num);
}

let num;

num = 1;
func();

num = 2;
func();