• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

[gato]

Chamar função pelo nome que está numa string

6 mensagens neste tópico

Boas pessoal,

Gostava de saber se é possivel em javascript chamar uma função cujo nome está dentro de uma string

fazer uma coisa que em php se faz deste genero:

function funcaoSoma(a, b)
{
echo a+b;
}

$funcaoXPTO = "funcaoSoma";

$funcaoXPTO(1, 2);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É capaz de não ser possível, o melhor seria chamares usando um switch (que nao sei se existe em javascript) ou entao um if.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É quase idêntico ao exemplo que deste, apenas não usas as aspas na string. Porque as funções são valores como uma variável qualquer.

function funcaoSoma(a, b) {
alert(a + b);
}

var funcaoXPTO = funcaoSoma;

funcaoXPTO(1, 2);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se realmente o nome da função está numa String.. então penso que podes fazer assim:

var str = "nome_da_funcao()";

eval(str);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se a string não for dinamicamente criado com bocados de texto dependendo de certas condições, não há necessidade de ter em formato string só por ter, basta remover as aspas. Se isso funcionar, também uma opção, mas a minha opinião, fica um código mais feio.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podes também fazer assim:


var funcaoSoma = new Function("a", "b", "return(a+b)");

var resultado = funcaoSoma(2, 3);

acho que não é bem o que queres.. mas pareceu-me bem colocar isto aqui :D LOL

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora