JavaScript 中,聲明一個函數,要想它運行,就得調用它
function say() {
console.log ('hello world')
} // 這里只是聲明了一個函數,并沒有運行它
say() // 這里就調用了這個函數,輸出了 'hello world' 字符串
聲明了一個函數,并不會立即執行它,就像造好了車子,存到車庫,并不開,直到需要車子了再開出來。
如果想要聲明了這個函數,并且立刻運行它,就可以把這個函數聲明變成表達式,后面加上(),就立即執行了這個函數
(function () {
console.log ('hello world')
}) () // 小括號 () 把函數聲明變成了表達式,該函數立即執行
(1, function () {
console.log ('hello world')
}) () // 逗號運算符把函數表達式變成了數組里的表達式,該函數立即執行
作用
立即執行的函數表達式,可以隔離作用域
因為在函數內部聲明的變量,只在函數內部作用域有效,外部是無效的,所以將變量用立即執行的函數表達式包裹一下,可以起到隔離作用域的效果。