作者blueshika (藍藍鹿)
看板Ajax
標題[問題] ES6括號的意義?
時間Wed Nov 21 16:24:57 2018
大家好,我正在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://webptt.com/m.aspx?n=bbs/Ajax/M.1542788708.A.224.html
1F:→ tino1991: console.log(increment); 有差呢 11/21 16:45
2F:→ lachtchlee: IIFE 11/21 18:14
3F:推 Neisseria: 看起來是為了嚴格模式才故意這樣寫 11/21 23:02
4F:→ Neisseria: 把嚴格模式的註解移到函式內會引發錯誤 11/21 23:03
5F:推 pkro12345: 當你要載入js就執行某函式時又不想殘留變數保留該函數 11/22 04:50
6F:→ pkro12345: 導致汙染全局變數時就會使用這種方法 11/22 04:51
7F:→ pkro12345: 推薦你Udemy上的Javascript understanding the weird 11/22 04:52
8F:→ pkro12345: parts 講解得非常清楚 例子簡單易懂 也有中文翻譯版的 11/22 04:54
9F:→ pkro12345: 價格才300NT CP非常高 11/22 04:55
10F:→ blueshika: 感謝大家的幫忙,總算有一點清楚了@@ 11/22 20:32
11F:推 ccorn: 推p大那堂課,超扎實的又有中文字幕 11/22 23:49
12F:推 idareyou: 這被稱作 立即呼叫函式運算式 11/23 09:20
13F:→ idareyou: 後面的括弧是能夠放值進去的 11/23 09:20
14F:→ jhnny97: 接著你可以進階學一下怎麼用closure包隱藏變數到函數裡 11/25 09:50
15F:→ jhnny97: 你的JS熟練度會大大上升 11/25 09:50
※ 編輯: blueshika (36.233.51.217), 11/26/2018 15:32:22
16F:→ WunoW: closure要弄懂,這是junior和senior明顯的分水嶺 12/15 19:56
17F:→ WunoW: iife就無視吧... 沒什麼用 12/15 19:57