js自执行函数,听到这个名字,首先会联想到函数。接下来,我来定义一个函数:
函数aaa (a, b) { 返回金额=a + b }
定义了一个名为aaa的函数,在里面可以计算两个数的和。如果想执行它,就必须得调用它,并且还得给它传参:
var aa=aaa (1, 2)
这样就实现了一个函数的定义与调用,通过console.log我们可以看到和实现了两个数的相加。
自执行函数是什么?自执行函数就是当它被定义出来,就会自动执行的函数。不需要调用,传参也很方便。就上面的函数,用自执行函数定义就是这样:
(函数aaa (a, b) { 返回金额=a + b ;})(1、2)
通过控制台可以发现和实现了两个数的相加。
自执行函数有三种写法:
1。(功能(“参数”){“函数方法”;})(“给参数传的值”)
2。(功能(“参数”){“函数方法”;}(“给参数传的值"))
3。!函数(“参数”){“函数方法”;}(“给参数传的值”)
第三种!可以换作其他运算符或者无效。
自执行函数是很自私的,它的内部可以访问全局变量。但是除了自执行函数自身内部,是无法访问它的。例:
函数aaa (a1, b1) { 返回sum1=a1 + b1 }, (函数bbb (a2, b2) { 返回sum2=a2 + b2 }(), console.log (aaa) console.log (bbb)
这是一个函数与一个自执行函数、输出这两个函数会发现:函数aaa被全部打印出来,而bbb则报错。自执行函数相当于一个瓶口朝下的杯子,当定义它的时候,它会倾斜,把杯口露出来,吸收外面的新鲜空气;当它执行完毕,杯口不再外露,紧闭起来,与外界再无关联。