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