es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for 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:

    function increment(){
        alert(x);
        alert(y);
        x++;
        y = x + 10; // Reasignar y con el valor actualizado de 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.

Comments are closed.