自我调用函数javascript

时间:2016-03-30 08:22:46

标签: javascript self-invoking-function

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

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

test = myFunc();

但是在最后一行我收到了这条错误消息:

  • myFunc未定义

2 个答案:

答案 0 :(得分:3)

你还没有写过一个自我调用函数。

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

命名函数表达式生成一个与它们自己的范围内只有同名的变量(而不是在声明函数的范围内生成具有相同名称的变量的函数声明) )。

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

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

答案 1 :(得分:0)

以下是自调用函数的示例:

var ello = 'ello';
var result = function() { return 'H' + ello}()
console.log(result) // outputs > Hello