立即执行函数的使用

在引入MVC模块化概念后,会将JS代码分为多个JS文件保存
但这个时候就需要去避免使用局部变量,所以需要使用到了立即执行函数将JS代码包起来。

使用方法及步骤:

1、不要用全局变量,要用局部变量

2、ES 5里面,只有函数内部的是局部变量

3、于是就声明一个 function xxx(){ … },然后直接 xxx.call()执行这个函数

4、但这样的话 xxx() 这个函数就变成了全局变量(全部函数)

5、所以不给这个函数名字,让它成为一个匿名函数

6、改写为 function(){ … }.call()

7、但这样会看到 chrome 控制台报错,提示语法错误

8、两种解决办法:
8.1、!function (){ … }.call(),直接在这个函数前面加一个感叹号取反,因为并不在乎这个函数的返回值,所以取反没关系
8.2、(function(){ … }).call(),将这个函数用括号包起来,但如果手贱在前面随意输入了别的东西就会报错,所以还是推荐第一种办法

猜你喜欢

转载自blog.csdn.net/weixin_42617604/article/details/89382056