立即函式 IIFE

Abby 旦旦
Jul 7, 2021

--

不需要呼叫,也可以直接執行的函式叫做立即函式。

具名函式的寫法;
(
function IIFE(){
console.log('這個就是立即函式');
}());
匿名函式的寫法;
(
function (){
console.log('這個就是立即函式');
})();

寫法:具名函式前後加上 (),之後在最後的內層或外層加上()。

特點:
1. 立即執行
2. 如果在函式外,無法被再次執行,以下範例:

(function IIFE(){
console.log('這個就是立即函式');
}());
console.log(IIFE); // 在函式外執行

這時會跳出錯誤,IIFE is not defined
所以這種立即函式大多都用匿名函式來書寫。

3. 限制變數的作用域,變數只能在函式內部執行,以下範例:

(function (){
var ming = '小明';
console.log(ming); //可以得到'小明'
})();
console.log(ming); // 會得到ming is not defined

4. 可以傳遞參數

(function(where){
console.log(where); // 得到'小美在這裡'
})('小美在這裡'); //參數寫在後面的括號裡

5. 可以宣告變數

var whereIsMay = (function(where){
return where;
})('小美在這裡');
console.log(whereIsMay); //得到'小美在這裡'

--

--

Abby 旦旦
Abby 旦旦

Written by Abby 旦旦

從零開始轉職網頁設計,正在緩慢朝前端工程邁進中!偶爾會發一些讀後感和UI分享,ㄚㄚ!

No responses yet