[問題] JavaScript 函式的基礎問題

看板Ajax作者 (晚安)時間6年前 (2018/08/11 18:50), 編輯推噓4(408)
留言12則, 5人參與, 6年前最新討論串1/1
最近開始自學JavaScript 遇到一個問題 https://i.imgur.com/to5JSc3.jpg
下面還有一行countToSeven(shout)沒截到 1. 這邊的Function countToSeven(cb) 會怎麼操作呢? 跟Function countToSeven()差別在哪 2. 我知道cb是callback 但Cb()這邊的用途是? 就程序的結果來看順序是 1. 跑countToSeven後面的{} 2. 跑shout()後面的{} 為什麼會造成這樣的結果呢? 剛剛思考了一下,順序是不是 1. CountToSeven(cb)預告遇到cb函式要做出後續處理 2. 開始做countToSeven後面{} 3. 遇到cb函式 cb() 4. 做後續處理countToSeven(shout) ----- Sent from JPTT on my iPhone --

01/15 20:47,
推推
01/15 20:47

01/15 20:47,
一樓卡毛
01/15 20:47

01/15 20:50,
樓下好帥 樓下下木巫老公
01/15 20:50

01/15 20:51,
我騎著豬去跟火巫搞婚外情
01/15 20:51

01/15 20:51,
五樓愛吃木巫腳皮
01/15 20:51

01/15 20:51,
01/15 20:51
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.3.74.51 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1533984623.A.628.html

08/11 20:15, 6年前 , 1F
Javascript 裡的函式也是一種值, 所以可以當值傳進函數中
08/11 20:15, 1F

08/11 20:16, 6年前 , 2F
cb() 即是呼叫 cb 這個變數中所包含的函數
08/11 20:16, 2F

08/11 20:16, 6年前 , 3F
那所以它的上一行就是在檢查 cb 這變數中是否真是函式
08/11 20:16, 3F

08/11 20:17, 6年前 , 4F
countToSeven(shout); 即是傳入 shout 函數進去
08/11 20:17, 4F

08/11 20:17, 6年前 , 5F
所以此時 cb 變數內含 shout 函式
08/11 20:17, 5F

08/12 00:50, 6年前 , 6F
這code真的會執行 cb() 這一行嗎?
08/12 00:50, 6F

08/12 01:13, 6年前 , 7F
關鍵字functional,中文翻泛函數,你學過工數的話,它和
08/12 01:13, 7F

08/12 01:13, 6年前 , 8F
工數中的泛函觀念很像
08/12 01:13, 8F

08/17 01:58, 6年前 , 9F
不是預告 函數根本不知道你傳什麼值給你
08/17 01:58, 9F

08/17 01:58, 6年前 , 10F
是執行到cb()才發現你要執行函數
08/17 01:58, 10F

08/18 23:55, 6年前 , 11F
我想countToSeven(shout)跟沒有傳入值的最大差別就是沒
08/18 23:55, 11F

08/18 23:55, 6年前 , 12F
有傳入值的會報錯吧,因為你的if後面加了分號
08/18 23:55, 12F
文章代碼(AID): #1RRhzlOe (Ajax)
文章代碼(AID): #1RRhzlOe (Ajax)