Open Lauviah0622 opened 4 years ago
覺得這個很有可能變長篇。 如果要從頭講的話,應該要從 Expression 還有 Statement 開始講
然後講道說 function 這個東西實際上是同時做了 expression 還有 Statement 這兩件事情。
https://masteringjs.io/tutorials/fundamentals/expressions
https://medium.com/launch-school/javascript-expressions-and-statements-4d32ac9c0e74
https://mariusschulz.com/blog/disassembling-javascripts-iife-syntax
https://flaviocopes.com/javascript-expressions/#invocation-expressions
這邊幾篇參考資料,之後再看看
什麼是 IIFE
Immediately Invoked Function Expression,立即調用函數表達式。好,這樣講一定霧颯颯,簡單說就是這樣。
你建立了一個 function,但不給他名子,然後直接執行他。
為什麼可以這樣用?
你會覺得奇怪的原因有三個
()
括號包住了()
被執行了我們先不談這三點,我們先談談 JS 比較基礎的東西: decalration 還有 expression
decalration 是甚麼?
他聲名了一個變數,但是沒有做任何事情。像上面的情況,a 還有 b 都是 undefined。有這兩個變數,但是這兩個變數裡面空空的,沒有任何東西,所以是 undefined。
但是我們平常比較常這樣用
所以上面其實做了兩件事情
function
https://flaviocopes.com/javascript-expressions/#invocation-expressions