• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

246
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.

almost 3 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);

almost 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda