立即执行函数的用法

立即执行函数的用法

1、定义

是定义函数以后立即执行该函数

2、写法(2种)

第一种:用小括号把整个函数定义和调用包裹起来

  (function() {
        //   function body
    }())

第二种:用括号把函数定义包裹起来,后面加一对小括号

    (function(
        //   function body
    ) {})()

3、立即执行函数的作用

为了防止变量命名冲突(变量污染),我们采用立即执行函数策略。因为立即函数内部会形成一个单独的作用域,我们可以一些封装外部无法读取的(私有变量临时变量或局部变量),外面访问不到这样就可以避免变量污染;

注意:多个立即函数中间必须加分号隔开

  (function() {
        var num = 10;
    })();
    (function() {
        var num = 10;
    })();

4、立即执行函数的参数

  (function(j) {
   // 代码中可以使用j
    })(i);

如果立即执行函数中需要全局变量,全局变量会被作为一个参数传递给立即执行函数(上例中的i就是一个全局变量,i代表的是实参,j是i在立即执行函数中的形参)。

5、立即执行函数返回值

像其他函数一样,立即执行函数也可以有返回值。除了可以返回基本类型值以外,立即执行函数也能返回任何类型的值,比如对象,函数。

举例:

  //变量result用来接受由立即执行函数返回的函数function() { return a + b;},result()相当于调用函数
    var result = (function() {
        var a = 2;
        var b = 2;
        return function() {
            return a + b;
        }
    })();
    console.log(result); //返回一个函数
    console.log(result()); //4

结果:

 

posted @ 2021-07-13 10:09  蛋蛋仔  阅读(640)  评论(0编辑  收藏  举报