Este dilema se puede abordar de diferentes formas, por lo tanto te damos la que para nosotros es la solución más completa.
La excepción de JavaScript “variable no está definido” ocurre cuando hay una variable inexistente a la que se hace referencia en alguna parte.
Mensaje
ReferenceError:"x" is not defined
tipo de error
ReferenceError
.
¿Qué salió mal?
Hay una variable inexistente a la que se hace referencia en alguna parte. Esta variable debe declararse, o debe asegurarse de que esté disponible en su script actual o alcance.
Nota: Al cargar una biblioteca (como jQuery), asegúrese de que esté cargada antes de acceder a las variables de la biblioteca, como “$”. Pon el elemento que carga la biblioteca antes que el código que la usa.
Ejemplos
Variable no declarada
foo.substring(1);// ReferenceError: foo is not defined
La variable "foo" no está definida en ninguna parte. tiene que ser algo stringde manera que la String.prototype.substring()
el método funcionará.
var foo ='bar'; foo.substring(1);// "ar"
Alcance incorrecto
Una variable debe estar disponible en el contexto actual de ejecución. No se puede acceder a las variables definidas dentro de una función desde ningún lugar fuera de la función, porque la variable se define solo en el ámbito de la función.
functionnumbers()var num1 =2, num2 =3;return num1 + num2; console.log(num1);// ReferenceError num1 is not defined.
Sin embargo, una función puede acceder a todas las variables y funciones definidas dentro del ámbito en el que está definida. En otras palabras, una función definida en el ámbito global puede acceder a todas las variables definidas en el ámbito global.
var num1 =2, num2 =3;functionnumbers()return num1 + num2; console.log(numbers());// 5
Ver también
- Alcance
- Declaración de variables en la Guía de JavaScript
- Alcance de la función en la Guía de JavaScript