Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
ReferenceError: "x" não está definido
Mensagem
ReferenceError: "x" is not defined
In this article
Tipo de erro
ReferenceErrorO 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 ouescopo.
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 definedA variável "foo" não está definida em lugar nenhum. Ela precisa ser uma string e assim o métodoString.prototype.substring() irá funcionar.
var foo = "bar";foo.substring(1); // "ar"Escopo Errado
Uma variável precisa estar disponível no atual contexto de execução. Variáveis definidas dentro de umafunction não podem ser acessadas de outros lugares fora da função, porque a variável é definida apenas no escopo da função
function numbers() { var num1 = 2, num2 = 3; return num1 + num2;}console.log(num1); // ReferenceError num1 is not defined.Entretanto, 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