Comment obtenir le corps d'une fonction comme chaîne?

Je veux savoir comment convertir le corps d'une fonction en chaîne?

function A(){ alert(1); } output = eval(A).toString() // this will come with function A(){ ~ } //output of output -> function A(){ alert(1); } //How can I make output into alert(1); only??? 

Si vous allez faire quelque chose de laid, faites-le avec regex:

 A.toString().match(/function[^{]+\{([\s\S]*)\}$/)[1]; 

Vous pouvez simplement trier la fonction et extraire le corps en supprimant tout le reste:

 A.toString().replace(/^function\s*\S+\s*\([^)]*\)\s*\{|\}$/g, ""); 

Cependant, il n'y a pas de bonnes raisons de le faire et toString ne fonctionne pas réellement dans tous les environnements.