Javascript: Lancer fonction variable
Résolu/Fermé
A voir également:
- Javascript: Lancer fonction variable
- Telecharger javascript - Télécharger - Langages
- Javascript echo ✓ - Forum PHP
- Erreur #125 javascript - Forum Mozilla Firefox
- Table de multiplication javascript ✓ - Forum Javascript
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
9 réponses
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
15 avril 2009 à 10:25
15 avril 2009 à 10:25
Bonjour,
Je pense que ce qu'il vous faut c'est la fonction eval();
https://www.toutjavascript.com/reference/ref-eval.php
Je pense que ce qu'il vous faut c'est la fonction eval();
https://www.toutjavascript.com/reference/ref-eval.php
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
15 avril 2009 à 10:34
15 avril 2009 à 10:34
Le plus simple c'est de faire :
S'active quand var_ (qui est une variable global accessible dans tout le script) à la valeur "ma valeur".
function activer_fct() { if(var_=="ma valeur"){ fct();} } function fct() { TA FONCTION }
S'active quand var_ (qui est une variable global accessible dans tout le script) à la valeur "ma valeur".
ce que tu propose est très interressant en effet par contre je n'arrive pas à lancer la fonction voulue
je m'explique:
je voudrait lancer la fonction qui porte la valeur de ma variable par exemple si ma variable vaut "effet", je voudrait que la fonction effet ce lance.
je sais que je pourrais faire cela à l'aide de condition "if" mais c'est pas très ergonomique je voudrais simplement faire quelque chose comme sa:
merci
Pazz
je m'explique:
je voudrait lancer la fonction qui porte la valeur de ma variable par exemple si ma variable vaut "effet", je voudrait que la fonction effet ce lance.
je sais que je pourrais faire cela à l'aide de condition "if" mais c'est pas très ergonomique je voudrais simplement faire quelque chose comme sa:
var test='effet'; function Lancefonction(){ test(); /*lancerai donc effet*/ }
merci
Pazz
Merci Benvil mais justement cela ne me convient pas c'est trop lourd surtout si il faut tester plus de 100 fonction
mais c'est vrais que sa fonctionne
mais c'est vrais que sa fonctionne
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
15 avril 2009 à 10:57
15 avril 2009 à 10:57
Avez-vous regardé ma proposition?
benvii
Messages postés
308
Date d'inscription
dimanche 8 juin 2008
Statut
Membre
Dernière intervention
28 octobre 2010
137
15 avril 2009 à 11:01
15 avril 2009 à 11:01
Alors fait avec eval() :
var fct_="alert('EXE')";
Regarde le post de NooKZ pour plus d'info -> http://www.commentcamarche.net/forum/affich 12007660 javascript lancer fonction variable?#1
var fct_="alert('EXE')";
function lancer_fct() { eval(fct_); }
Regarde le post de NooKZ pour plus d'info -> http://www.commentcamarche.net/forum/affich 12007660 javascript lancer fonction variable?#1
oui NooKz c'est ta proposition qui m'intéresse et merci a toi benvil sa semble aller dans le bon sens par contre je n'arrive toujours pas a faire se que je veut je me ré explique, je voudrait que la valeur de "fct_" me lance une fonction.
exemple
var fct_='Border";
function lanceFct(){
eval(fct_(););
}
function Border(){
alert('ok');
}
pazz
exemple
var fct_='Border";
function lanceFct(){
eval(fct_(););
}
function Border(){
alert('ok');
}
pazz
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
15 avril 2009 à 11:20
15 avril 2009 à 11:20
De mémoire c'est eval("fct_"); ou eval(fct_); je sais plus lequel
voici l'ébauche de mon script, vous comprendrez peut être mieux
je lance donc filtre avec la valeur "Border"
function filtre(Effet){ var Fil= new ActiveFiltre(Effet); } function ActiveFiltre(Effet){ this.Effet=Effet; if(typeof(this.Effet)=='undefined'){ alert("erreur: la fonction n'existe pas"); } else{ chaine='Effet();'; eval(chaine); } } function Border(){ alert('ok'); }
je lance donc filtre avec la valeur "Border"
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
15 avril 2009 à 11:37
15 avril 2009 à 11:37
Comme dit au-dessus c'est eval("Effet"); sans les parenthèses qui normalement définissent une fonction