javascript函数声明之间的区别

时间:2013-03-14 05:31:50

标签: javascript function

我知道这类问题被问了很多,但我没有看到任何关于此类声明的问题

(function(){
    myFuncName=function(myVar){
       // some logic
    };
}());

有何不同
function myFuncName(myVar){
// some logic
}

3 个答案:

答案 0 :(得分:1)

你在做什么是创建一个匿名函数,它也有一个闭包。 Read more about closures here

基本上,闭包意味着您已在另一个函数内声明了一个函数。这将允许您在第一个函数退出后访问局部变量。

通常你不能这样做,因为它们会超出范围。

至于其他部分。您可以找到一个非常有用的指南,了解此处发生的事情Why do you need to invoke an anonymous function on the same line?

总结一下,你已经创建了一个匿名的自我调用函数表达式 自我调用来自()紧跟函数表达式的事实。

答案 1 :(得分:1)

第一个是匿名函数,你无法在以后引用和调用它,所以你只需在创建后立即执行()!

(function(){
    alert(1)
}())

第二个是参考函数,您可以在以后随时调用它。除非你明确地调用它,否则它不会被执行

答案 2 :(得分:0)

这是a link,它解释了javascript中的函数声明。

希望这有帮助!