在Javascript中,是否可以缓存结果eval?
例如,如果我能够:
var str="some code...";
var code = eval(str);
//later on...
code.reExecute();
Run Code Online (Sandbox Code Playgroud)
你可以创建str一个函数的主体New Function而不是使用eval.
var fn = new Function([param1, param2,...], str);
Run Code Online (Sandbox Code Playgroud)
并通过调用重用它 fn(p1, p2,...)
或者使用eval,并制作str类似的东西
var fn = eval("(function(a){alert(a);})")
Run Code Online (Sandbox Code Playgroud)