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

Javascript 如何访问字符串上另一个函数中的函数?,javascript,eval,Javascript,Eval,在javascript中,如何访问本示例中的函数“look” 这就是功能: var func = "(function() {function look() {return 12;};return 'OK'})()"; 我试试这个 eval(func); 然后返回“OK”,正确。但是我需要返回“look”功能(返回12。 这可能吗?是。将返回“OK”更改为返回外观() 否则,您的look()函数将永远不会执行,即使当前执行过,您仍然会返回字符串“OK” 但是我不太清楚为什么要使用eval()

在javascript中,如何访问本示例中的函数“look”

这就是功能:

var func = "(function() {function look() {return 12;};return 'OK'})()";
我试试这个

eval(func);
然后返回“OK”,正确。但是我需要返回“look”功能(返回12。 这可能吗?

是。将
返回“OK”
更改为
返回外观()

否则,您的
look()
函数将永远不会执行,即使当前执行过,您仍然会返回字符串
“OK”

但是我不太清楚为什么要使用
eval()
。为什么不简单地:

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

你可以,使用闭包你可以得到你的答案

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

var cFun=评估(func)


cFun();//12

那么为什么不返回
12
呢?为什么您的代码首先是一个字符串?
var func = function() { function look() { return 12; } return look(); }
func(); // 12