在javascript编程中,也如同其他编程语言一样,我们通常需要先声明一个函数(方法),然后在随后或者其他需要用到的地方显式调用它。如果我们在声明了某个函数后,立即就想要调用它,那么其实我们有几种更精简干练的语法来实现函数自身调用自身,这种方式被称为“自执行”,自执行的意思就是当某个函数被定义出来后,就会自动执行自己,此时不需要显式的调用,传参也更直接简便。目前一共有三种实现函数自执行的语法。
javascript函数自执行的三种写法如下所示:
1、最前最后加括号( function ( “ 参数 ” ) { " 函数方法 " ; } ) ( “ 给参数传的值 ” )
2、function外面加括号( function ( " 参数 " ) { “ 函数方法 ” ; } ( " 给参数传的值 " ) )
3、function前面加运算符,常见的是!和void! function ( " 参数 " ) { " 函数方法 " ; } ( " 给参数传的值 " )
需要注意的是,自执行函数的内部可以正常访问全局变量,然而其他地方却无法访问自执行函数自身。因为自执行函数可以看做是一个倒立的瓶子,当我们声明它的时候,它会发生一定的倾斜,把底部瓶口露出来,外界新鲜空气可以进入;然而当它自身执行完毕后,瓶口则不会再对外暴露,因此外界就算是通过它的函数名,也无法调用它,它对于外界相当于是不存在了,这个应该是很好理解。