作者oCrazyDucko (晚安)
看板Ajax
標題[問題] JavaScript 函式的基礎問題
時間Sat Aug 11 18:50:19 2018
最近開始自學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
--
1F:推 s89129:推推01/15 20:47
2F:推 luke2:一樓卡毛01/15 20:47
3F:推 oCrazyDucko:樓下好帥 樓下下木巫老公 01/15 20:50
4F:推 counterzero:我騎著豬去跟火巫搞婚外情01/15 20:51
5F:推 weigod:五樓愛吃木巫腳皮 01/15 20:51
6F:→ weigod:幹01/15 20:51
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.3.74.51
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Ajax/M.1533984623.A.628.html
7F:推 LPH66: Javascript 裡的函式也是一種值, 所以可以當值傳進函數中 08/11 20:15
8F:→ LPH66: cb() 即是呼叫 cb 這個變數中所包含的函數 08/11 20:16
9F:→ LPH66: 那所以它的上一行就是在檢查 cb 這變數中是否真是函式 08/11 20:16
10F:→ LPH66: countToSeven(shout); 即是傳入 shout 函數進去 08/11 20:17
11F:→ LPH66: 所以此時 cb 變數內含 shout 函式 08/11 20:17
12F:推 jim7434: 這code真的會執行 cb() 這一行嗎? 08/12 00:50
13F:→ jhnny97: 關鍵字functional,中文翻泛函數,你學過工數的話,它和 08/12 01:13
14F:→ jhnny97: 工數中的泛函觀念很像 08/12 01:13
15F:推 youtuuube000: 不是預告 函數根本不知道你傳什麼值給你 08/17 01:58
16F:→ youtuuube000: 是執行到cb()才發現你要執行函數 08/17 01:58
17F:推 mikukonn: 我想countToSeven(shout)跟沒有傳入值的最大差別就是沒 08/18 23:55
18F:→ mikukonn: 有傳入值的會報錯吧,因為你的if後面加了分號 08/18 23:55