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

108
Vistas
Aprenda Javascript: función de orden superior

alguien puede explicar este codigo..? especialmente " acción (i) " en el alcance. soy nuevo en js

 function repeat(n,action){ for(let i= 1; i<=n; i++){ action(i); } } repeat(10, console.log); repeat(3, alert);

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

0

El código anterior simplemente repite una función dada (la función de acción) n cantidad de veces, pasando i (la iteración actual) a la función

p.ej:

 repeat(10, console.log);

Eso repite console.log 10 veces. console.log es una función, que se pasa como la función de acción. Luego se ejecuta 10 veces.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Las funciones de orden superior son funciones que toman otras funciones como parámetro(s). Se basa en que las funciones se denominan miembros de primera clase en Javascript, lo que dice, entre otras cosas, esto: las funciones se pueden pasar a otras funciones, como parámetros.

En su ejemplo, la función pasada dentro de la función de repeat se llama action , que está definida por su firma de función de repetición (n,action) (independientemente de cualquier nombre que ya tenga la función real que se está pasando), por lo que cualquier función que se pase into repeat se puede llamar dentro de él usando action() .

Tenga en cuenta que no hay forma de garantizar que la llamada real tendrá una function como segundo parámetro; nadie puede evitar que alguien haga llamadas como repeat('foo', 'bar') o incluso repeat() . Es su trabajo como desarrollador hacer que su función sea a prueba de fallas en este sentido, o tomar el punto de vista de la mierda .

Un ejemplo más simplificado sería este:

 function showMessage(message, showMethod) { showMethod(message); } showMessage('Hello world shown by console.log', console.log); showMessage('Hello world shown by alert', alert); showMessage('Hello world shown by console.error', console.error);

  • showMessage es una función que muestra un message , que espera que sea el primer parámetro cuando se llama.
  • La función real que debe usarse para mostrar el message pasado debe pasarse a showMessage como un segundo parámetro.
  • Cuando se llama, showMessage ejecuta la función que se pasó como segundo parámetro (que se renombró a showMethod dentro de showMessage ), y le pasa message .

Otro caso de uso más práctico podría ser este:

 function add(x, y) { return x + y; } function subtract(x, y) { return x - y; } function multiply(x, y) { return x * y; } function divide(x, y) { return x / y; } function calculate(x, y, calcFunction) { const result = calcFunction(x, y); return result; } console.log(calculate(2, 5, add)); console.log(calculate(2, 5, subtract)); console.log(calculate(2, 5, multiply)); console.log(calculate(2, 5, divide));

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