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

作者: blueshika (藍藍鹿)   2018-11-21 16:24:57
大家好,我正在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
也就是說,把括號加到上面之後,就是原本的題目
這樣感覺比較好懂為什麼原本要那樣寫。
作者: tino1991 (深白)   2018-11-21 16:45:00
console.log(increment); 有差呢
作者: lachtchlee (nymph)   2018-11-21 18:14:00
IIFE
作者: Neisseria (Neisseria)   2018-11-21 23:02:00
看起來是為了嚴格模式才故意這樣寫把嚴格模式的註解移到函式內會引發錯誤
作者: pkro12345 (席龍)   2018-11-22 04:50:00
當你要載入js就執行某函式時又不想殘留變數保留該函數導致汙染全局變數時就會使用這種方法推薦你Udemy上的Javascript understanding the weirdparts 講解得非常清楚 例子簡單易懂 也有中文翻譯版的價格才300NT CP非常高
作者: blueshika (藍藍鹿)   2018-11-22 20:32:00
感謝大家的幫忙,總算有一點清楚了@@
作者: ccorn (玉米)   2018-11-22 23:49:00
推p大那堂課,超扎實的又有中文字幕
作者: idareyou (HellTraveller)   2018-11-23 09:20:00
這被稱作 立即呼叫函式運算式後面的括弧是能夠放值進去的
作者: jhnny97 (≡(  ゚Д゚))   2018-11-25 09:50:00
接著你可以進階學一下怎麼用closure包隱藏變數到函數裡你的JS熟練度會大大上升
作者: WunoW (WunoW)   2018-12-15 19:56:00
closure要弄懂,這是junior和senior明顯的分水嶺iife就無視吧... 沒什麼用

Links booklink

Contact Us: admin [ a t ] ucptt.com