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

153
Visualizações
JavaScript define la función para tomar el parámetro de la función externa

Quiero definir una función:

 const f = (outside, param1, param2) => { outside(param1, param2); }

Pero sé que esta función siempre se llamará dentro de una función que tiene un parámetro externo. Por ejemplo:

 const g = (outside, param3, param4) => { // some code here f(outside, var1, var2); // some more code }

¿Hay alguna forma de definir f para que no tenga que pasar al outside cuando llame al interior de g ?

También quiero poder llamar a f dentro de otras funciones que toman el outside como parámetro, no solo g .

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

¿Hay alguna forma de definir f para que no tenga que pasar al outside cuando llame al interior de g ?

No. Está solicitando un alcance dinámico , pero JavaScript usa un alcance léxico . Eso significa que la disponibilidad/visibilidad de los símbolos está determinada por la forma en que se definen las funciones, no por cómo/cuándo/dónde se llaman.

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede cambiar el orden de los argumentos y tomar medidas según su existencia:

 const f = (param1, param2, outside) => { if (outside) { outside(param1, param2); } else { ... } }

ACTUALIZAR

Desafortunadamente, una función definida fuera de la función g, no tendrá acceso directo a las variables contenidas en la función g. Por esta razón, necesariamente debe pasar el parámetro fuera de la función f.

about 4 years ago · Juan Pablo Isaza Relatório

0

¿Y si cambias tu lógica así? ¿Se ajustará a tus necesidades?

 // Set function logic const f = (param1, param2) => { return param1 + param2; } // Outside method const outside = v => { console.log(`I'm outside: ${v}`); } // Call from outside logic const g = (outside, param3, param4) => { // If you know, that it is outside wrapper, wrap it here outside(f(param3, param4)); } g(outside, 2, 2); // Call from else logic console.log(`I'm else logic: ${f(3, 3)}`);

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