ReferenceError: "x" is not defined

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 referída 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) asegurese de que se haya cargado antes de intentar acceder a sus variables, como por ejemplo "$". Para ello ponga la etiqueta <script>, que cargar 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"

Fuera de contexto.

Una variable necesita estar disponible en el contexto actual de ejecución. Las variables definidas dentro de una función no pueden ser accedidas 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 un contexto global puede acceder a todas las variables definidas con alcance global.

var num1 = 2,
    num2 = 3;

function numbers () {
  return num1 + num2; 
}

console.log(num1); // 2

Temas relacionados

Etiquetas y colaboradores del documento

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