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
Libérer: 2024-12-15 03:47:09
original
470 Les gens l'ont consulté

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;
};
Copier après la connexion

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']
Copier après la connexion

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);
Copier après la connexion

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);
}
Copier après la connexion

À 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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal