Estoy usando JavaScript y creo una variable global. Lo defino fuera de una función y quiero cambiar el valor de la variable global desde dentro de una función y usarlo desde otra función, ¿cómo hago esto?
fuente
Estoy usando JavaScript y creo una variable global. Lo defino fuera de una función y quiero cambiar el valor de la variable global desde dentro de una función y usarlo desde otra función, ¿cómo hago esto?
Simplemente haga referencia a la variable dentro de la función; sin magia, solo usa su nombre. Si se ha creado globalmente, entonces actualizará la variable global.
Puede anular este comportamiento declarándolo localmente usando var
, pero si no lo usa var
, el nombre de una variable utilizada en una función será global si esa variable se ha declarado globalmente.
Es por eso que se considera una buena práctica declarar siempre sus variables explícitamente var
. Porque si lo olvida, puede comenzar a meterse con los globos por accidente. Es un error fácil de cometer. Pero en su caso, esto cambia y se convierte en una respuesta fácil a su pregunta.
console.log
se ejecuta de inmediato, pero la función de éxito ajax solo se ejecuta en algún momento posterior cuando la llamada ajax realmente devuelve una respuesta. Este es un punto fundamental sobre la naturaleza asincrónica de ajax: el código en las funciones de cierre no se ejecuta en secuencia con el código que lo rodea. Es importante comprenderlo cuando se aprende sobre el código controlado por eventos.fuente
Solo usa el nombre de esa variable.
En JavaScript, las variables solo son locales para una función, si son los parámetros de la función o si las declara como locales explícitamente escribiendo la
var
palabra clave antes del nombre de la variable.Si el nombre del valor local tiene el mismo nombre que el valor global, use el
window
objetoVer este jsfiddle
Editar
Con ES2015 llegó dos palabras clave
const
ylet
, que también afectan el alcance de una variable ( Especificación del lenguaje )fuente
fuente
var
palabra clave dentro de la función, entonces no tiene que lidiar condocument.getElementById("outside").value = x;
Con window ['variableName'] o window.variableName puede modificar el valor de una variable global dentro de una función.
fuente