JavaScript中的自调用函数是什么?

时间:2011-09-22 13:13:09

标签: javascript function

据我所知,以下是“自我调用功能”:

func(){}();

与以下内容有何不同?

func(){} func();

1 个答案:

答案 0 :(得分:10)

我认为你的意思是( I )之间有什么区别:

function(){}();

和( II ):

function func(){};
func();

甚至( III ):

var func = function(){};
func();

这三个结果在结果方面表现相同,但是它们具有不同的命名和范围结果:

  • :这不会使该功能以任何名称可用,它会运行一次并被遗忘。您不能在将来引用它

  • II func函数在整个封闭函数中创建并可用,甚至在定义之前(提升

  • III func变量定义为指向函数。在定义之前无法访问它。

请注意,在 II III 中,该功能可通过func名称进行参考,并可再次多次调用。使用 I 中的自调用功能无法实现这一点。