Firefox 7中的Javascript匿名函数

Her*_*nan 2 javascript firefox anonymous-function

更新到Firefox 7后,我收到以下错误:

函数语句需要一个名称

这个特定的功能定义为

fun = eval("function (item) { //Function body }");
Run Code Online (Sandbox Code Playgroud)

如果我把它重写为:

fun = eval("function view(item) { //Function body }");
Run Code Online (Sandbox Code Playgroud)

错误不再显示,但程序仍然无法正常工作.

Ps.-我知道评估一个字符串不是一个好主意.这是我必须修复的遗留应用程序,其中一些函数作为字符串按需从数据库下载.

Pet*_*tah 5

用括号括起来

eval("(function (item) { alert('hello'); })");
Run Code Online (Sandbox Code Playgroud)

但这没有任何意义,因为它什么都不做.也许你想要:

eval("(function () { alert('hello'); })()");
Run Code Online (Sandbox Code Playgroud)

要么

eval("var func = function (item) { };");
Run Code Online (Sandbox Code Playgroud)