来自 String 的 Javascript 函数构造函数无法运行

标签 javascript string function

谁能帮我理解为什么 new Function 在这里不起作用?

var fn = data["callback"]; // String with value: function() { anotherFunctionToRun(); }
var foo = new Function("return ("+fn+")");
foo();

alert(foo) // returns function anonymous() { return function () {anotherFunctionToRun();}; }
alert(foo()) // function () { anotherFunctionToRun(); }

foo(); // Wont do anything

我的语法有问题吗?

最佳答案

您对 foo() 的调用只是返回函数对象,而不是调用它。试试这个:

foo()();

关于来自 String 的 Javascript 函数构造函数无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5403282/

相关文章:

javascript - for 循环中的 jQuery click() 函数显示意外行为

javascript - 无法更新 Service、AngularJS 中的值

php - 在 PHP 中动态显示/隐藏 Div

python - 是否必须将 redis-py 对象设置为全局变量才能在函数中使用?

java - 这个新的 String[] 和 String.value() 代码是什么意思?

java - 10秒的滑动窗口?

正确的函数输出导致 printf 中产生垃圾

javascript - 关闭 jQuery 模态框

javascript - IE 焦点后跳转到文本区域的开头

c++ - 将 s.at(i) 与一个字符进行比较?