iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
1
自我挑戰組

JavaScript技術手冊閱讀筆記系列 第 17

第17天:立即執行函式

立即執行函式

先看以下程式碼,我們使用s(2,3)來執行函式

let s = function sum(num1,num2){
    return num1+num2;
}

console.log( s(2,3) );

以上我們使用console.log來執行s(1,3)的結果,而這個s其實就等於我們後面寫的function sum(num1,num2){...},所以理論上來說執行s(1,3)就等同於如下

function sum(num1,num2){
    return num1+num2;
}(2,3)

不過這樣寫的話JavaScript會不曉得我們function的範圍,最後執行的結果如下,只是把最後輸入的數字3印出來而已,沒有直接執行我們寫的function
https://ithelp.ithome.com.tw/upload/images/20201002/20120420fKT5HfTp5D.png

所以要加上括號(),讓JavaScript解析時明確了解到我們function的範圍,如下,這樣就會等同於我們前面執行s(2,3)的結果。

(function sum(num1,num2){
    return num1+num2;
})(2,3)

https://ithelp.ithome.com.tw/upload/images/20201002/20120420lde2IkPifA.png
這種函式宣告後馬上執行的方式稱為立即執行函式。

不過被括號包起來的內容會在執行完畢後被JavaScript刪除掉,所以括號裡的函式只能使用一次。也因為只使用一次,所以我們也可以省略函式名稱(稱為匿名函式)的方式來建立。

https://ithelp.ithome.com.tw/upload/images/20201002/201204202pfSCNntFp.png


上一篇
第16天:函式實字
下一篇
第18天:箭頭函式
系列文
JavaScript技術手冊閱讀筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言