[问题] 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