如何在字符串上的另一个函数中访问函数?

时间:2015-01-29 12:37:49

标签: javascript eval

在javascript中,如何访问功能" look"在这个样本中。

这是功能:

var func = "(function() {function look() {return 12;};return 'OK'})()";

我试试这个

eval(func);

返回"好的",正确。但我需要回归"看"功能(返回12。 这可能吗?

2 个答案:

答案 0 :(得分:0)

是。将return "OK"更改为return look()

var func = "(function() { function look() { return 12; } return look(); })()";
eval(func); // 12

否则你的look()函数永远不会被执行,即使它当前是,你仍然会返回字符串"OK"

我不确定你为什么要使用eval()。你为什么不这么简单:

var func = function() { function look() { return 12; } return look(); }
func(); // 12

答案 1 :(得分:0)

是的!,

你可以,使用闭包你可以实现你的答案。

var func =“(function(){return function look(){return 12;}})()”;

var cFun = eval(func);

CFUN(); // 12