Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pablo.p48l0

Função no parâmetro

Recommended Posts

Boa noite,

Pessoal, preciso executar função (passada como segundo parâmetro da primeira funcao) apenas se o primeiro parâmetro for condizente com a condição existente no interior da função. Segue um exemplo para melhor entendimento:

//DECLARACAO DA FUNCAOfunction myFunc(letra,funcao) {  if(letra == 'a') funcao.call();  else alert('funcao encerrada');}//CHAMADA DA FUNCAOmyFunc('a',myFunc('b'));
Como esperado, a lógica era que a funcao do parametro fosse executada antes, e é o que acontece. Porém preciso que apenas seja executada a funcao do parametro se a letra for 'a'. Então, de que forma posso obter o resultado esperado? Tentei passar a funcao como string e executá-la com eval(), mas se eu chegar ao terceiro nivel (3 funcoes, uma dentro da outra) dá erro pq esgotam as aspas.

 

ALGUMA LUZ?? JÁ FAZ TEMPO QUE ESTOU NESSE IMPASSE!! Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu, particularmente, gosto muito disso. São as chamadas funções callbacks. jQuery usa bastante.

 

Olha aê:

//DECLARACAO DA FUNCAOfunction myFunc(letra,funcao) {  if(letra == 'a') funcao();  else alert('funcao encerrada');}//CHAMADA DA FUNCAO//myFunc('a',myFunc('b'));myFunc("a", function(){  alert("b");});// ouvar t = function(w){ alert(w); };myFunc("a", function(){  t("q");});
Se você não tiver que chamar nenhum parâmetro na função que vai na função callback, basta definir assim myFunc("a", t), caso contrário, terá que chamar a partir de uma função anônima.

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites
Callbacks seriam funções que possuem funções como argumentos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,

 

Estou tendo um pouco de dificuldade com isso, será que pode me ajudar?

 

O que eu realmente preciso é que uma funcao seja chamada de acordo com o resultado da funcao 'pai', algo como:

 

fuction myFunc(letra,funcao) {

  alert(letra);

  if(letra == 'a') funcao.call;

}

myFunc('a',myFunc('b',myFunc('c')));

Neste exemplo, eu teria como resultado os alerts para 'a' e 'b'.. O alert para 'c' não apareceria.

 

Se puder me dar um toque lhe agradeço,

 

Abraço,

 

Pablo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.