Javascript: obtenez les noms des arguments réels passés dans une fonction

Peut-on connaître le nom des arguments réels passés dans la fonction? comme

func(a,b,c,d); 

Lorsque nous appelons cela, je souhaite a, b, c, d imprimé en sortie. Quelque chose comme si je définis func as

 function func(e,f,g,h) { // do something here so that console.log('something');//prints a,b,c,d as output } 

EDIT: Les éléments suivants ne servent pas complètement le but, mais si rien ne peut être fait en javascript lié à cette question, la suite peut être une réponse. Voyez-vous, si quelqu'un peut construire autour de cela?

 function func(){ var args = Array.prototype.slice.call(arguments),result=''; for(var i in this){ if(args.indexOf( this[i])!==-1 ){ result+=i+','; } } console.log(result); } 

Donc, si j'appelle comme,

 var a=22, b=46, c=99; func.call(this,a,b,c);//or func(a,b,c) 

Va imprimer a, b, c mais

Dans le cas suivant, il échouera:

 var w=4,a=4, b=4, c=99; 

Alors la sortie sera a, b, c, w qui est fausse car w n'est pas l'argument passé.

Voyez-vous, si quelqu'un peut construire autour de cela?

J'ai besoin de cela parce que les noms contiennent également des informations dont j'ai besoin dans ma logique de fonction

Si j'appelle func (a, b, c, d), il y a un flux si la logique dans func et si je l'appelle avec func (l, m, n, d) puis le flux logique dans l'algorithme Func change et en conséquence la sortie Changera aussi

Il y a quelque chose de profondément erroné avec votre compréhension de JS, ou votre conception de votre problème, ou plus probablement les deux.

Les fonctions ne peuvent pas savoir, et ne savent pas, et ne doivent pas savoir, et n'ont aucune raison de savoir, quelles variables, valeurs ou expressions ont été utilisées pour les appeler.

Je ne sais pas si cela résoudra votre problème, quoi qu'il en soit, mais envisagez de faire ce qui suit à la place:

 func({a,b,c,d}); 

Le format {a,b,c,d} crée un objet avec des touches d' a etc. dont les valeurs sont la variable a . C'est la syntaxe ES6. Dans ES5:

 func({a: a, b: b, c: c, d: d}); 

Ensuite, dans votre fonction, vous pouvez regarder les touches dans l'objet passé comme paramètre.