[問題] ES6括號跟fucntion的意義?(已解決)

看板Ajax作者 (藍藍鹿)時間6年前 (2018/11/21 16:25), 6年前編輯推噓4(4013)
留言17則, 9人參與, 6年前最新討論串1/1
大家好,我正在freecodecamp上面學ES6 在練習下面這個問題的時候,我知道答案是什麼 可是不知道那些括號為什麼要這樣括? 題目:https://goo.gl/y5TkVi https://imgur.com/NrLovqu
我嘗試拿掉第一組括號之後,結果也是正確的 https://imgur.com/FMwxSoR
這個時候讓我更混亂的是:剩下的一組括號要幹嘛? 爬文之後,好像是執行(?)的意思 這樣外面的那一層function跟裡面的function差在哪? 應該問說這樣寫的意義是? 為什麼不要乾脆一個function就搞定? https://imgur.com/IH3ryk7
=============================2018/11/26============================ 根據我自己的理解,修改題目原本的寫法結果如下 https://imgur.com/jRCQqb6
1.表示increment這個函示 2.increment執行之後,得到的結果(一個函示) 3.執行上述函示得到的結果 如下圖 https://imgur.com/fBB54KA
也就是說,把括號加到上面之後,就是原本的題目 這樣感覺比較好懂為什麼原本要那樣寫。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.170.34.241 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1542788708.A.224.html

11/21 16:45, 6年前 , 1F
console.log(increment); 有差呢
11/21 16:45, 1F

11/21 18:14, 6年前 , 2F
IIFE
11/21 18:14, 2F

11/21 23:02, 6年前 , 3F
看起來是為了嚴格模式才故意這樣寫
11/21 23:02, 3F

11/21 23:03, 6年前 , 4F
把嚴格模式的註解移到函式內會引發錯誤
11/21 23:03, 4F

11/22 04:50, 6年前 , 5F
當你要載入js就執行某函式時又不想殘留變數保留該函數
11/22 04:50, 5F

11/22 04:51, 6年前 , 6F
導致汙染全局變數時就會使用這種方法
11/22 04:51, 6F

11/22 04:52, 6年前 , 7F
推薦你Udemy上的Javascript understanding the weird
11/22 04:52, 7F

11/22 04:54, 6年前 , 8F
parts 講解得非常清楚 例子簡單易懂 也有中文翻譯版的
11/22 04:54, 8F

11/22 04:55, 6年前 , 9F
價格才300NT CP非常高
11/22 04:55, 9F

11/22 20:32, 6年前 , 10F
感謝大家的幫忙,總算有一點清楚了@@
11/22 20:32, 10F

11/22 23:49, 6年前 , 11F
推p大那堂課,超扎實的又有中文字幕
11/22 23:49, 11F

11/23 09:20, 6年前 , 12F
這被稱作 立即呼叫函式運算式
11/23 09:20, 12F

11/23 09:20, 6年前 , 13F
後面的括弧是能夠放值進去的
11/23 09:20, 13F

11/25 09:50, 6年前 , 14F
接著你可以進階學一下怎麼用closure包隱藏變數到函數裡
11/25 09:50, 14F

11/25 09:50, 6年前 , 15F
你的JS熟練度會大大上升
11/25 09:50, 15F
※ 編輯: blueshika (36.233.51.217), 11/26/2018 15:32:22

12/15 19:56, 6年前 , 16F
closure要弄懂,這是junior和senior明顯的分水嶺
12/15 19:56, 16F

12/15 19:57, 6年前 , 17F
iife就無視吧... 沒什麼用
12/15 19:57, 17F
文章代碼(AID): #1RzHPa8a (Ajax)
文章代碼(AID): #1RzHPa8a (Ajax)