Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

105
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!