JavaScript 核心篇_函式以及 This 的運作

JavaScript 核心篇_函式以及 This 的運作

1. 函式表達式不一定是匿名函式

2. 具名函式能夠在函式內被調用,但函式本身的名稱只能在自己裡面呼叫,而不能在外面呼叫

3. 立即函式無法在函式外被再次執行

4. 立即函式可以是匿名函式

5.宣告與參數名稱相同的變數是沒用的

6. 函式陳述式在函式裡面也有提升,但是不會提升到參數之前,比如說下面的結果,如果是提升到參數之前,那前面兩個印出的會是 '小明'

7. 閉包

8. 如何印出 0 1 2

8.1 立即函式

8.2 let

9.函式工廠和私有方法

10. callback function 也是屬於 simple call

11. call、 apply

12. bind 不會立刻執行

參數會被綁定,就算之後傳參數也不能改變

如果部份帶入,會依需填上空缺的參數

13. 傳入原始型別會被轉成物件,null、undefined 會被轉成全域變數,例如 window(沒有嚴格模式下)

14. simple call 本質就是 call 前面放 undefined

15. 直接看 DOM 的方法

16. this + DOM

17. this 題目

17.1 非嚴格模式下,null 和 undefined 會變成全域變數

17.bind 後面有一個參數,所以 1(-> b) 和 2(-> c ) 就往後帶

18.this 題目

18.1 foo.bar = foo.bar 和 false || foo.bar 是表達式

所以其實是 simple call

19.this 題目

可以改寫成這樣

因為 parseInt 後面帶的參數(什麼進位方法) 被帶入成 i,所以 2 在 1 進位 是 NaN,3在 2 進位也是 NaN

20.函式以及 This 的運作 — 課後練習

20.1 第三題

20.2 第十題

b(c) 時,沒有回傳東西,所以變成 a( undefined ),再執行 undefined()