iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 23
1
自我挑戰組

Head First!從頭開始學JS 《深入淺出 JavaScript 程式設計》讀書筆記系列 第 23

Day23. 醒醒吧,你根本沒有名字!

本日閱讀進度:第11章 匿名函式、作用域及閉包(475~484頁)

重點摘要:

  1. 匿名函式簡介
    匿名函式(Anonymous function),顧名思義就是沒有名稱的函式。
    如果使用函式宣告來定義一個函式,就一定會有名稱;
    但如果使用函式運算式來定義一個函式,就不必為函式指定一個名稱。
    匿名函式的好處是可以讓程式碼更簡短、更有效,甚至更易於維護。

  2. 如何改寫匿名函式
    直接看程式碼:

// 假設原本程式碼長這樣
function handler() {alert("Yeah, that page loaded!");}
window.onload = handler;  // <- 頁面載入後,handler函式就會被調用

// 把這兩行的handler拿掉
function() {alert("Yeah, that page loaded!");} // <- 變成函式運算式
window.onload = ;

// 再把兩行併在一起,就完成了
window.onload = function() {alert("Yeah, that page loaded!");}
// handler已經被賦值給window.onload屬性
  1. 較長函式的寫法
    一樣直接看code:
// 原本函式長這樣
function cookieAlarm() {
  alert("Time to take the cookies out of the oven");
};

setTimeout(cookieAlarm, 600000) // <- 此處以毫秒為單位,所以等於10分鐘

// 拿掉變數,直接把函式內嵌在setTimeout中
setTimeout(function() {alert("Time to take the cookies out of the oven");}, 600000);

// 但這樣寫不容易閱讀,改成下方寫法較佳
setTimeout(function() {
             alert("Time to take the cookies out of the oven");
           }, 600000);

是說我第一次認識Anonymous這個單字,是因為BBS的匿名板,已經是N年前的事了啊(遠目)

本文同步發表於cichen


上一篇
Day22. 一個函式不夠你不會再回傳一個嗎?
下一篇
Day24. 你函式中有我,我函式中有你
系列文
Head First!從頭開始學JS 《深入淺出 JavaScript 程式設計》讀書筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言