Maison >interface Web >js tutoriel >Comment puis-je accéder dynamiquement aux noms et valeurs des paramètres de fonction JavaScript ?

Comment puis-je accéder dynamiquement aux noms et valeurs des paramètres de fonction JavaScript ?

DDD
DDDoriginal
2024-12-15 03:47:09471parcourir

How Can I Dynamically Access JavaScript Function Parameter Names and Values?

Accès dynamique aux informations sur les paramètres de fonction

En JavaScript, il est souvent souhaitable d'accéder dynamiquement aux noms et aux valeurs des paramètres de fonction pendant l'exécution. Cet article décrit une méthode pour obtenir cette fonctionnalité.

Obtention des noms de paramètres

Pour obtenir un tableau de noms de paramètres pour une fonction donnée, la fonction suivante peut être utilisée :

var getParamNames = function(func) {
  var fnStr = func.toString().replace(STRIP_COMMENTS, '');
  var result = fnStr.slice(fnStr.indexOf('(')+1, fnStr.indexOf(')')).match(ARGUMENT_NAMES);
  if(result === null)
     result = [];
  return result;
};

Cette fonction remplace les commentaires et fait correspondre les noms des paramètres à l'aide d'une expression régulière. Par exemple :

getParamNames(getParamNames) // returns ['func']
getParamNames(function (a,b,c,d){}) // returns ['a','b','c','d']

Obtention des valeurs des paramètres

En plus des noms de paramètres, l'objet arguments peut être utilisé pour accéder aux valeurs des paramètres dans la fonction elle-même :

var args = Array.slice(arguments);

Cela crée un tableau contenant les valeurs de toutes les fonctions paramètres.

Exemple d'utilisation

Considérez la fonction suivante qui prend un nombre arbitraire de paramètres :

function doSomething() {
  // Fill an array with parameter names and values
  var paramNames = getParamNames(doSomething);
  var paramValues = Array.slice(arguments);
}

À l'intérieur de la fonction, la fonction getParamNames est utilisé pour obtenir les noms des paramètres, et Array.slice(arguments) est utilisé pour obtenir le paramètre valeurs.

Considérations

  • Les paramètres par défaut peuvent amener la fonction getParamNames à renvoyer des résultats inattendus.
  • L'objet arguments n'est pas un tableau réel , mais il peut être converti en un seul.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn