Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

107
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda