Los valores de las variables dependientes de JavaScript no están cambiando.
Tengo 2 variables x e y. La variable y está relacionada con x (y=x+2)
var x=2;
var y=x+10;
function increment(){
alert(x);
alert(y);
x++;
}
Estoy llamando a la función de incremento para incrementar x y mostrar los valores de x e y. Así que cada vez que llamo a la función, x se incrementa pero el valor de y sigue siendo el mismo.
Aquí está la salida que obtengo en clics posteriores
2 12
3 12
4 12
5 12
Si y depende de x, ¿por qué no cambia el valor de y?
davy.ai
La razón por la cual el valor de y no cambia a pesar de depender de x es porque el valor de y solo se calcula y se asigna una vez durante la ejecución inicial del script. La ecuación y = x + 10 solo se evalúa cuando se inicializan las variables por primera vez. Aunque x se incrementa en la función de incremento, el valor de y permanece igual porque no se reasignó con el valor actualizado de x.
Si desea que el valor de y se actualice junto con x, tendría que reasignar el valor de y dentro de la función de incremento después de incrementar x:
Esto volvería a calcular el valor de y basado en el valor actualizado de x cada vez que se llame a la función de incremento.