JavaScript - IIFE 自调用函数

IIFE

IIFE:immediately-invoked function expression,叫作即时调用的函数表达式,也叫作自调用函数,表示函数在定义时就当即调用。express

函数调用方式:函数名或函数表达式的变量名后面加 () 运算符。markdown

注意:函数名定义的形式不能实现当即执行自调用,函数使用函数表达式形式能够实现当即执行,缘由是由于函数表达式定义过程当中,将一个函数矮化成了一个表达式,后面加()运算符就能够当即执行。app

启发:若是想实现 IIFE,能够想办法将函数矮化成表达式。函数矮化成表达式,就能够实现自调用。函数

函数矮化成表达式的方法

能够让函数参与一些运算,也就是说给函数前面加一些运算符ui

  • 数学运算符:+ - ()url

  • 逻辑运算符:!非运算spa

+ function fun() {
            console.log(1);
        }();

        - function fun() {
            console.log(1);
        }();

        (function fun() {
            console.log(1);
        })();

        ! function fun() {
            console.log(1);
        }();
复制代码

image.png

IIFE说明

IIFE 结构能够关住函数的做用域,在结构外面是不能调用函数的3d

IIFE 最经常使用的是 () 运算符,并且函数能够不写函数名,使用匿名函数。由于它至关于一次性函数,能够不给函数名。code

经常使用的IIFE函数以下:orm

(function (a) {
            console.log(a);
        })(1);

        (function (a) {
            console.log(a);
        })(4);

        console.log(a)
复制代码

image.png

能够看到变量 a 是被关住的, 在IIFE函数外面调用是调不到的.

相关文章
相关标签/搜索