12

関数の本体を文字列に変換する方法を知りたいですか?

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???
4

4 に答える 4

2

関数を文字列化し、他のすべてを削除することで本文を抽出することができます。

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

ただし、それを行う正当な理由はなく、toString実際にはすべての環境で機能するとは限りません。

于 2013-02-14T23:47:56.973 に答える