-4

我试图在Javascript中为自调用函数编写这段代码:

var ello = ("ello");
obj = (function myFunc(){var elem= []["H" + ello]["world"]["!" + "!"]();
 return elem;
}, "as");

test = myFunc();

但在最后一行我收到了这个错误信息:

  • myFunc 未定义
4

2 回答 2

3

您还没有编写自调用函数。

您已经编写了一个命名函数表达式。

命名函数表达式仅在它们自己的范围内生成与它们同名的变量(与在声明函数的范围内生成同名变量的函数声明相反)。

为了调用函数表达式,您必须立即调用它(通过跟随它())或将其分配给变量或属性以便稍后调用。你什么都没有做(虽然你之前有一个赋值运算符,但后面的逗号运算符意味着字符串"as"被赋值)。

(请注意,您编写的函数在调用时会抛出错误。这根本没有意义。)

于 2016-03-30T08:31:40.337 回答
0

下面是一个自调用函数的示例:

var ello = 'ello';
var result = function() { return 'H' + ello}()
console.log(result) // outputs > Hello
于 2016-03-30T08:37:17.940 回答