Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

ReferenceError: "x" no está definida.

Tipo de error

ReferenceError.

¿Qué está mal?

Hay una variable no existente que está siendo referida en algún lugar. Esta variable necesita ser declarada o se debe comprobar su disponibilidad en el ámbito actual del script.

Nota:  Cuando una librería es cargada (como por ejemplo  jQuery) asegúrese de que se haya cargado antes de intentar acceder a sus variables, como por ejemplo "$". Ponga la etiqueta <script>, que carga la librería antes del código que la utiliza.

Ejemplo

Variable no declarada

foo.substring(1); // ReferenceError: foo no está declarada.

La variable "foo" no está declarada en ninguna parte. La variable debe ser alguna cadena para que el método String.prototype.substring() funcione correctamente.

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

Contexto erróneo

Una variable necesita estar disponible en el contexto actual de ejecución. No se puede acceder a las variables definidas dentro de una función desde fuera de dicha función, debido a que la variable está definida solamente dentro de la función.

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

console.log(num1); // ReferenceError num1 sin definir.

Sin embargo, una función puede acceder a todas las variables y funciones definidas dentro del ámbito en la cual ha sido definida. Es decir, una función en el contexto global puede acceder a todas las variables definidas en el contexto global.

var num1 = 2,
    num2 = 3;

function numbers () {
  return num1 + num2; 
}

console.log(num1); // 2

Temas relacionados

Etiquetas y colaboradores del documento

 Colaboradores en esta página: ccorcoles, Heranibus, jsgaonac, Luis_Armando
 Última actualización por: ccorcoles,