首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么需要在同一行上调用一个匿名函数?

为什么需要在同一行上调用一个匿名函数?

提问于 2017-12-26 11:16:46
回答 2关注 0查看 278

我正在阅读关于关闭的一些帖子,并在任何地方看到这个帖子,但没有清楚的解释它是如何工作的 - 每次我只是被告知使用它...:

代码语言:txt
复制
// Create a new anonymous function, to use as a wrappe
代码语言:txt
复制
(function(){
代码语言:txt
复制
    // The variable that would, normally, be global
代码语言:txt
复制
    var msg = "Thanks for visiting!";
代码语言:txt
复制
代码语言:txt
复制
    // Binding a new function to a global object
代码语言:txt
复制
    window.onunload = function(){
代码语言:txt
复制
        // Which uses the 'hidden' variable
代码语言:txt
复制
        alert( msg );
代码语言:txt
复制
    };
代码语言:txt
复制
// Close off the anonymous function and execute it
代码语言:txt
复制
})();

好吧,我看到我们将创建新的匿名函数,然后执行它。所以之后,这个简单的代码应该工作(和它):

代码语言:txt
复制
(function (msg){alert(msg)})('SO');

我的问题是这里发生了什么样的魔法?我以为,当我写道:

代码语言:txt
复制
(function (msg){alert(msg)})

那么就会创建一个新的未命名的函数,如函数“”(msg)...

但那为什么不工作?

代码语言:txt
复制
(function (msg){alert(msg)});
代码语言:txt
复制
('SO');

为什么需要在同一行?

你能指点我一些帖子还是给我一个解释?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档