Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

391
Vistas
How does (--t) expression works in this code

I am trying to understand how the math unfolds through this code, easingDoc

function easeInOutQuad (t, b, c, d) {
        if ((t/=d/2) < 1) return c/2*t*t + b;
        return -c/2 * ((--t)*(t-2) - 1) + b;
    }
  
console.log(easeInOutQuad(0.3,50,150,1));
console.log(easeInOutQuad(0.95,50,150,1));

I am trying to decipher the equation for both the conditions. While I understand, the condition for if ((t/=d/2) from this post describes what t/=d means and how it affects the calculation.

For example, (t/=d/2)<1 the code can be rewritten as following and it would produce the identical result. Such as,

function easeInOutQuad (t, b, c, d) {
        if ((t/=d/2) < 1) return c/2*t*t + b;
        return -c/2 * ((--t)*(t-2) - 1) + b;
    }
  

function alternate (t,b,c,d){
    if (2*t/d < 1) return c/2*(2*t/d)*(2*t/d)+b;
    return 999999;};

console.log(easeInOutQuad(0.3,50,150,1));
console.log(alternate(0.3,50,150,1)); //(150/2)*(2*0.3/1)*(2*0.3/1)+50
console.log(easeInOutQuad(0.45,50,150,1));
console.log(alternate(0.45,50,150,1));//(150/2)*(2*0.45/1)*(2*0.45/1)+50

I was wondering how can I express return -c/2 * ((--t)*(t-2) - 1) + b explicitly in equation like console.log(alternate(0.3,50,150,1)); //(150/2)*(2*0.3/1)*(2*0.3/1)+50 so that I can undersatnd what the math is for that part.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Probably the following 2 expressions could look tricky, here are the alternatives:

  c = -1 * c; // -c
  t = t - 1;  // --t

And an example for -c/2 * ((--t)*(t-2) - 1) + b;

// -c/2 * ((--t)*(t-2) - 1) + b;
function alternate(t, b, c, d) {
  c = -1 * c; // -c
  t = t - 1;  // --t
  return (c / 2) * (t * (t - 2) - 1) + b;
};

console.log(alternate(0.3, 50, 150, 1));
console.log(((-1 * 150) / 2) * ((0.3 - 1) * ((0.3 - 1) - 2) - 1) + 50);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda