2009-12-10 7 views
0

Supposons que j'ai une longue fonction javascript tels queComment trouver les variables définies dans une fonction

function test() { 
    var x; 
    var a; 
    ... 
    ... 
    ... 
    ... 
    ... 
} 

est-il possible que je peux demander à la fonction elle-même de me dire quelles variables ont été définies à ce jour.

function test() { 
    var x; 
    var a; 
    ... 
    ... 
    ... 
    ... 
    ... // bit of code that would say to me: x and a. 
} 
+0

Juste curieux, où avez-vous besoin de cela? Merci –

+0

Le code javascript est généré automatiquement. Si je connaissais la réponse à ma question, je serais capable d'ajouter à la fin d'une fonction un peu de code qui validerait certaines hypothèses faites par le générateur de code. – lorenzo

+0

Je * souhaite * c'était possible. Oh, je le souhaite. –

Répondre

1

Non, non sans compter sur Function#toString et ensuite effectuer un traitement de chaîne sur le résultat, ce qui n'est pas recommandé. Function#toString est implémenté par la plupart des navigateurs comme vous donnant le code source de la fonction (avec ou sans commentaires, selon), mais n'est pas standardisé par la spécification (même la plus récente) et je ne l'utiliserais pas dans le code de production.

+0

D'accord Je ne voudrais pas compter sur le .toString Merci pour votre aide – lorenzo

1

Cela nécessiterait une réflexion. Mais Javascript vient sans beaucoup de support de réflexion. Je ne pense pas que vous pouvez le faire, sauf comme ceci: analyser votre propre fonction.

Questions connexes