比較
一般的 JavaScript 函式宣告方法如下:
let language = “JavaScript”;
function learnProgram(){
console.log(`I am learning ${language}.`);
}
learnProgram(); //I am learning JavaScript.
但若這個函數只要用到一次,又希望可以在宣告完成後立刻執行,就可以改用「立即呼叫函式表達式」(Immediately Invoked Function Expression, IIFE)如下:
(function (language){ //把函式用括弧括起來,填入參數,且可用匿名函式
console.log(`I am learning ${language}.`);
})(“JavaScript”); //把執行的參數名稱填入第二個括弧中
//I am learning JavaScript.
功能
- 函式宣告完立即執行,不須呼叫。
- 函式只用一次,可用匿名函式,不必另外想函式名稱。
- 不影響全域執行環境,若全域執行環境有相同名稱的參數也可以。