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函數外面調用是調不到的.

相關文章
相關標籤/搜索