Accueil > Forum > > > > Comment passer les arguments d'une fonction à une autre ?
Comment passer les arguments d'une fonction à une autre ?
lundi 18 décembre 2006 à 15:40:55 |
Comment passer les arguments d'une fonction à une autre ?

roro06
|
Bonjour
Comment faire passer les arguments d'une fonction à une autre ? Je m'explique : soit f1 et f2 deux fonctions. Dans le contexte suivant : function f1() { f2(f1.arguments) }
function f2() { for (var i=0; i<arguments.length; i++) document.writeln(i + ":" + arguments[i]); }
window.onload=function() { f1("test1", "tests2") }
je voudrais faire passer les arguments qui ont été transmis à f1 (et dont on ne connaît ni le nombre, ni le type) à la fonction f2. L'exemple ci-dessus affiche 0:[object Object] (ce qui, après réflexion, paraît logique).
Quelqu'un saurait-il m'aiguiller pour que mon affichage soit : 0 : test1 1 : tests2
D'avance merci
Cordialement Roro webDev
|
|
lundi 18 décembre 2006 à 16:39:41 |
Re : Comment passer les arguments d'une fonction à une autre ?

bultez
|
Bonjour,
function f2(b) { for (var i=0; i<b.length; i++) { document.writeln(i + ":" + b[i]); } }
... bof ...
Cordialement Bul [mon Site] [M'écrire]
|
|
lundi 18 décembre 2006 à 16:50:25 |
Re : Comment passer les arguments d'une fonction à une autre ?

roro06
|
Bonjour
non, c'est pas ça
Cordialement Roro webDev
|
|
lundi 18 décembre 2006 à 17:03:32 |
Re : Comment passer les arguments d'une fonction à une autre ?

bultez
|
ça fait ce qui est demandé ! même si je comprend bien que ce n'est pas comme ça que tu veuilles faire. construire dans une variable : "f2(" + f1.arguments[#] + ")" , puis eval ( beurk ! ) ? ... re bof ... car il doit y avoir plus élégant que ces 2 possibilités ( doux euphémisme )
Cordialement Bul [mon Site] [M'écrire]
|
|
lundi 18 décembre 2006 à 17:54:29 |
Re : Comment passer les arguments d'une fonction à une autre ?

bultez
|
Réponse acceptée !
je ne pensais même pas que cela marchait, et pourtant...
function t1() { t2(); } function t2() { for ( var n=0;n<t1.arguments.length;n++) { alert(t1.arguments[n]); } }
t1("a","b","c");
ça ne répond pas encore tout à fait à ce que tu souhaites je présume... mais...
Cordialement Bul [mon Site] [M'écrire]
|
|
mardi 19 décembre 2006 à 09:57:01 |
Re : Comment passer les arguments d'une fonction à une autre ?

roro06
|
Réponse acceptée !
Bonjour
"Pas encore tout à fait", mais quasiment quand-même. La solution que je viens de trouver, grâce à toi, sera :
function t1() { t2(); }
function t2() { if(t2.caller) { for ( var n=0; n<t2.caller.arguments.length;n++) { alert(t2.caller.arguments[n]); } } else
for ( var n=0; n<arguments.length;n++)
{
alert(arguments[n]);
}
}
t1("a","b","c");
(Le but n'était pas, tu l'aura compris, d'afficher les arguments, mais de pouvoir instancier des "sous-objets").
Merci beaucoup pour ton aide
Cordialement Roro webDev
|
|
mardi 19 décembre 2006 à 10:47:10 |
Re : Comment passer les arguments d'une fonction à une autre ?

bultez
|
Bonjour, je me doutais bien que l'affichage n'était là que "pour l'exemple". je vais mettre ta solution précieusement de coté, ça peut être très utile. c'est nickel.
Cordialement Bul [mon Site] [M'écrire]
|
|
jeudi 21 décembre 2006 à 21:50:52 |
Re : Comment passer les arguments d'une fonction à une autre ?

FREMYCOMPANY
|
Réponse acceptée !
function f1() { f2.apply(this, arguments) } function f2() { } Pourquoi notre PC fait-il toujours ce qu'on lui dit ... et pas ce qu'on veut ??? 
|
|
vendredi 22 décembre 2006 à 07:06:14 |
Re : Comment passer les arguments d'une fonction à une autre ?

bultez
|
très très bien apply ! merci,bravo FremyCompagny comme quoi le JavaScript c'est quand même un superbe langage... mais quid d'une doc ?...
Cordialement Bul [mon Site] [M'écrire]
|
|
vendredi 22 décembre 2006 à 12:03:22 |
Re : Comment passer les arguments d'une fonction à une autre ?

FREMYCOMPANY
|
De rien ! Sinon, tu as aussi call: f2.call (this, arguments[0], arguments[1], ...) Dans call et apply le premier argument est ce qui va représenter "this" dans la fonction. Sot: function f1() { return f2.call(new Object()); } function f2() { this.value=3; } f1() renvera { "value": 3 } Pourquoi notre PC fait-il toujours ce qu'on lui dit ... et pas ce qu'on veut ??? 
|
|
Cette discussion est classée dans : fonction, passer, f2, f1, arguments
Répondre à ce message
Sujets en rapport avec ce message
Désactiver les touches de fonction F1-F12 [ par Bebert ]
Bonjour, j'aimerais désactiver les touches de fonction du clavier F1-F12. Or, j'utilise l'évenement onkeydown et je test l'event.keyCode entre 112 et
affichage "en temps et en heure" [ par bultez ]
[size=1][b][brown]Bonjour à tous[black]les "input text" ne s'affichent qu'en fin de la routinewindows.status au fur et à mesure de l'avancementest-ce
[JS]Simuler l'appuis sur un lien [ par Sarvok ]
Hello tous,J'ai encore besoin de vous !En fait, j'ai fait un tit script qui me permet de changer des descriptions et des prixs, dans une page, sans ch
comment passer un id en argument de (mini) fonction ? [ par fixeurman ]
J'ai la fonction 1 qui met écrit une date en haut d'une boite de texte dans un formulaire mais si j'ai plusieurs boites de texte Comment puis-je passe
Réaffecter F1 F2..F12 [ par meniou ]
Salut a tous, j'essai actuellement de réaliser une interface graphique dans laquelle, je me sert de raccourci clavier tels que F1,F2,F3 et F4. J'arriv
Passer une variable d'une fonction javascript à un object classid [ par llnis ]
Bonjour, J'ai besoin d'intégrer dans une url une variable générer par une fonction javascript du style : function display(){ var chiffdujour = 13880;
Passer une variable d'un formulaire dans une fonction javascript [ par ohanssens ]
Voilà une question sur laquelle je bloque.Je voudrais faire passer une valeur d'un élément de formulaire dans un popup via une fonction Javascript.Cel
chercher fichier dans repertoire [ par tonytruand ]
Bonsoir à tousJ'aurai besoin d'un coup de main svpJ'aimerais recupérer dans le répertoire Temporary internet file les fichiers contenant dans leur nom
Passer du texte complexe en argument ! [ par hAdEsS ]
Bonjour à tous,alors je suis en train de développer un petit site de monitoring, et je doit utiliser une fonction ajax pour générer mes graph en tps r
probléme de firefox [ par debutantnet ]
je voudrais savoir pourqoi ce script ne fonctione pas en firefox function scrollTwin(f1, f2){ document.frames[f1].document.body.onscroll = function(
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|