MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

ReferenceError: "x" não está definido

Tradução em progresso.

Mensagem

ReferenceError: "x" is not defined

Tipo de erro

ReferenceError.

O que deu errado?

Há uma variavel inexistente referenciada em algum lugar. Essa variável precisa ser declarada ou você precisa ter certeza que ela está disponível no seu atual script ou escopo.

Nota: Quando carregar uma biblioteca(como o JQuery) tenha certeza que ela está carregada antes que você acesse as variáveis dela, como "$". Coloque na tag <script> para carregar a biblioteca antes do seu código usá-lo.

Exemplos

Variável não declarada

foo.substring(1); // ReferenceError: foo is not defined

A variável "foo" não está definida em lugar algum. Ela precisa ser uma string e assim o método String.prototype.substring() irá funcionar.

var foo = "bar";
foo.substring(1); // "ar"

Escopo Errado

Uma variável precisa está disponível no atual contexto de execução. Variáveis definidas dentro de uma function não podem ser acessadas de outros lugares fora da função, porque a variável é definida só no escopo da função

function numbers () { 
  var num1 = 2, 
      num2 = 3;
  return num1 + num2;
}

console.log(num1); // ReferenceError num1 is not defined.

Contudo, uma função pode acessar todas as variáveis e funções definidas dentro do escopo no qual elas estão definidas. Em outras palavras, uma função definida no escopo global pode acessar todas as variáveis no escopo global.

var num1 = 2,
    num2 = 3;

function numbers () {
  return num1 + num2; 
}

console.log(num1); // 2

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: FLR, FelipeLima
 Última atualização por: FLR,