立即執行函數表達式

JavaScript 中,聲明一個函數,要想它運行,就得調用它

function say() {
    console.log ('hello world')
}      // 這里只是聲明了一個函數,并沒有運行它

say()     // 這里就調用了這個函數,輸出了 'hello world' 字符串

聲明了一個函數,并不會立即執行它,就像造好了車子,存到車庫,并不開,直到需要車子了再開出來。

如果想要聲明了這個函數,并且立刻運行它,就可以把這個函數聲明變成表達式,后面加上(),就立即執行了這個函數

(function () {
    console.log ('hello world')
}) ()      // 小括號 () 把函數聲明變成了表達式,該函數立即執行

(1, function () {
    console.log ('hello world')
}) ()      // 逗號運算符把函數表達式變成了數組里的表達式,該函數立即執行

作用

立即執行的函數表達式,可以隔離作用域
因為在函數內部聲明的變量,只在函數內部作用域有效,外部是無效的,所以將變量用立即執行的函數表達式包裹一下,可以起到隔離作用域的效果。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容