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.