立即執行函數詳解及運用

立即執行函數

定義:此類函數沒有聲明,在一次執行過後即釋放。適合做初始化工作。
作用:造出一個函數作用域,防止污染全局變量,它既不會提升,也不會污染全局對象,儘量的把功能封裝在函數中
首先得知道,

  • 只有表達式才能被執行符號執行
  • 被執行符號執行的表達式他的名字會被自動忽略

當函數成爲一個表達式時,它既不會提升,也不會污染全局對象。將函數變爲一個函數表達式的方式之一,將函數用小括號括起來。
然而,這樣一來,函數無法通過名稱調用。如果書寫一個函數表達式,然後將立即調用,該函數稱之爲立即執行函數 IIFE(Imdiately Invoked Function Expression)。
由於大部分情況下,函數表達式的函數名沒有實際意義,因此,可以省略函數名。沒有名字的函數,稱之爲匿名函數

//w3c建議寫法:
    (function () {
            var a = 1,
                b = 2,
                c = 3;
            console.log(a, b, c);
        }());
//2.
 (function (){
            var a = 1,
                b = 2,
                c = 3;
            console.log(a, b, c);
        })(); 

上面說到了只有表達式才能被執行符號執行負責就會報錯,但是有這個特殊情況

 function test(a, b, c,d) {
            console.log(a + b + C + d) ;
            }(1,2,3,4);

這裏他不會報錯,但也不會執行…他會分開執行

function test(a, b, c,d) {
            console.log(a + b + C + d) ;
            }




(1,2,3,4);

tip:>(免費獲取最新完整前端課程關注vx公衆號:前端拓路者coder,回覆:資料
如果這個文章對你有用的話,歡迎點贊轉發關注,讓更多的小夥伴看到呀,畢竟分享是一個程序員最基本的美德!!!
如果有不對的請大佬指教)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章