Escopo do JavaScript

O escopo é o conjunto de variáveis que você tem permissão para acessar.

escopo de função JavaScript

No JavaScript, há dois tipos de escopos:

  • escopo local
  • escopo global

JavaScript possui escopo de função: cada função cria um novo escopo.

O escopo determina a acessibilidade dessas variáveis (visibilidade).

As variáveis definidas dentro da função não são acessíveis do exterior da função (invisíveis).

variável JavaScript local

As variáveis declaradas dentro de uma função JavaScript se tornarãovariável local

O escopo de uma variável local élocal:Só podem ser acessadas dentro da função.

Exemplo

// Aqui o código não pode usar a variável carName
function myFunction() {
    var carName = "porsche";
    // Aqui o código pode usar a variável carName
}

Experimente você mesmo

Como só pode identificar variáveis locais dentro da função, pode usar variáveis com o mesmo nome em diferentes funções.

Variáveis locais são criadas no início da função e deletadas quando a função é concluída.

variável JavaScript global

As variáveis declaradas fora de uma função se tornarãovariável global

O escopo de uma variável global églobal:Todos os scripts e funções da página podem acessá-la.

Exemplo

var carName = "porsche";
// Aqui o código pode usar a variável carName
function myFunction() {
    // Aqui o código também pode usar a variável carName
}

Experimente você mesmo

Variáveis do JavaScript

Nos JavaScript, objetos e funções também são variáveis.

O escopo determina a acessibilidade das variáveis, objetos e funções de diferentes partes do código.

global automática

Se você atribuir um valor a uma variável não declarada, esta variável se tornará automaticamenteglobalvariável.

Este código declarará uma variável global carName, mesmo que haja atribuição dentro da função.

Exemplo

myFunction();
// Aqui o código pode usar a variável carName
function myFunction() {
    carName = "porsche";
}

Experimente você mesmo

Modo Estrito

Todos os navegadores modernos suportam executar JavaScript no "modo estrito".

Você aprenderá mais sobre como usar o "modo estrito" em capítulos posteriores deste tutorial.

Não são criadas automaticamente variáveis globais no "modo estrito".

Variáveis globais no HTML

Através do JavaScript, o escopo global forma um ambiente completo do JavaScript.

No HTML, o escopo global é o window. Todas as variáveis globais pertencem ao objeto window.

Exemplo

var carName = "porsche";
// O código aqui pode usar window.carName

Experimente você mesmo

Aviso

Não crie variáveis globais a menos que seja intencional.

Suas variáveis globais (ou funções) podem sobrescrever as variáveis (ou funções) do objeto window.

Qualquer função, incluindo o objeto window, pode sobrescrever suas variáveis globais e funções.

Validade da variável JavaScript

A validade da variável JavaScript começa no momento de sua criação.

As variáveis locais são deletadas quando a função é concluída.

As variáveis globais são deletadas quando você fecha a página.

Parâmetros de função

Os parâmetros de função também são variáveis locais dentro da função.