Maison > interface Web > js tutoriel > Exemples de code pour javascript pour obtenir les noms de fonctions, les paramètres de fonction et les noms d'attributs d'objet_Connaissances de base

Exemples de code pour javascript pour obtenir les noms de fonctions, les paramètres de fonction et les noms d'attributs d'objet_Connaissances de base

WBOY
Libérer: 2016-05-16 16:52:22
original
977 Les gens l'ont consulté

1. Trois méthodes d'implémentation pour obtenir des noms de fonctions

Exemple 1 :

Une méthode vue dans le guide faisant autorité js :

Function.prototype.getName = function(){
return this.name || this.toString().match(/functions*([^(]*)(/)[1]
}

Exemple 2 :

Si la fonction actuelle est une fonction nommée, son nom est renvoyé. S'il s'agit d'une fonction anonyme, le nom de la variable de fonction attribuée est renvoyé. S'il s'agit d'une fonction anonyme dans une fermeture, "anonyme" est renvoyé.

Copier le code Le code est le suivant :

var getFnName = function(callee){
var _callee = callee.toString().replace(/[s?]*/g,""),
comb = _callee.length >= 50 :_callee.length;
_callee = _callee.substring (0,comb);
var name = _callee.match(/^function([^(] ?)(/);
if(name && name[1]){
return nom[1 ];
}
var caller = callee.caller,
_caller = caller.toString().replace(/[s?]*/g,"");
var last = _caller. indexOf(_callee),
str = _caller.substring(last-30,last);
name = str.match(/var([^=] ?)=/);
if (name && name[1]){
          return name[1] ; transmettez un paramètre, qui est arguments.callee function ee(){
//
var fnname =getFnName(arguments. .callee)
//
alert(fnname)
};
ee();


Copier le code


Le code est le suivant :


fonction getFuncName(_callee)
{ var _text = _callee.toString();

var _scriptArr = document.scripts; for (var i=0; i<_scriptArr.length; i ) {

var _start = _scriptArr[i ].text.indexOf(_text);

if (_start != -1)

return _text.match(/^functions*([^(] ). *rn/ )(1];
}
}
}
fonction a()
{
return getFuncName(arguments.callee);
>
var b = function ()
{
return getFuncName(arguments.callee);
>
window.alert(a());
window.alert(b());




Il existe une autre situation qui ne peut pas être résolue par la méthode ci-dessus. J'espère que quelqu'un qui a une solution pourra vous donner quelques conseils.




Copier le code


Le code est le suivant : function()
{
return getFuncName(arguments.callee);
}
}

window.alert(x.run()); Dans ce cas, le nom de la fonction ne peut pas être obtenu

2. méthode js pour obtenir tous les paramètres d'une fonction et parcourir tous les noms d'attributs et valeurs d'un objet


1. Obtenez tous les paramètres
Copiez le code


Le code est le suivant :


test de fonction(){

for(var i=0;i document.write(arguments[i]);
}

2. Méthode pour parcourir tous les noms d'attributs et valeurs d'un objet

Copier le code Codez comme suit :



Étiquettes associées:
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