Js编程语言中,自调用函数是什么?举个Js代码例子解释一下!

JavaScript09

Js编程语言中,自调用函数是什么?举个Js代码例子解释一下!,第1张

自调用函数:

顾名思义,有2个意思

《1》自行调用的函数:

就是指,函数在页面载入后或者之前就自行调用,无需借助其他函数或方法来启动;

例如:

(function(win){

    win.alert(11)

})(window)

《2》自己调用自己的函数:

就是指,递归:在一个函数里面调用自己的函数,当符合一定规则时,跳出自我调用,就是递归。

例如:

var fn = function(n){

    if(n == 1) return 1

    else return n * fn(n-1)

}

对于一个js匿名函数

自调用这个匿名函数

这样解释器会报错

为什么呢? 原因可以看一个普通js函数的调用

这是一个函数声明,如果在这么一个声明后直接加上括号调用,解析器不能理解而会报错:

而a函数申明时候,调用就可以直接加 ()

这里可以看出无论是命名函数还是匿名函数,都是函数申明,而直接对匿名函数加 () 之后,解释器就不能理解而报错了

要自调用匿名函数,就需要把匿名函数声明语句变成一个表达式