[筆記] JavaScript 的基本觀念 – 16 – new 和 constructor function 函數建構子

雖說在 JavaScript 並沒有像 class 這樣的結構,但這樣的設計跟當初為了吸引 Java的使用者有關,所以採用類似的寫法。在實際運行時,JavaScript 是先透過一個函式建構子constructor function 來建立一個物件,並指向一個特定的記憶體位置,然後 invoke 函式內的內容,來新增其物件的key-value對內容。javascript es6 logo


課程對應章節

Course 57 ~ Course 59 (全部一共有 85 Courses)

請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。課程連結網址:http://tinyurl.com/w7vrql6

內容

1. 在 constructor function 中,若沒有指定回傳值,那麼運用 new 時,就會自動回傳所建立的物件,並不需要特別指定。
2. 承上,若你指定回傳的東西,那麼原先建立的內容會被全部覆蓋。
3. 若你忘記使用 new,那麼你實際呼叫時,會得到任何新增變數的預設值 “undefined”。
4. 函式中的 prototype,預設是一個空物件,你可以使用 .prototype 來新增方法、key-value 對到函式中。
5. 為了減少記憶體的使用量,當你要新增一個共用的方法時,你可以加入到 .protype 中讓新建立的物件自然都帶有此方法。如此一來,便可減少記憶體用量。


JavaScript 全攻略系列文章

  • [筆記] JavaScript 的基本觀念 – 20 – something new 新玩意
  • [筆記] JavaScript 的基本觀念 – 19 – 檢視 / 建立框架 view & build a framework
  • [筆記] JavaScript 的基本觀念 – 18 – 其他 miscellaneous
  • [筆記] JavaScript 的基本觀念 – 15 – prototype, reflection & extend
  • [筆記] JavaScript 的基本觀念 – 14 – call()、apply() 與 bind()
  • [筆記] JavaScript 的基本觀念 – 13 – Closure 閉包
  • [筆記] JavaScript 的基本觀念 – 12 – IIFE
  • [筆記] JavaScript 的基本觀念 – 11 – Array, Syntax, Semicolon
  • [筆記] JavaScript 的基本觀念 – 10 – this
  • [筆記] JavaScript 的基本觀念 – 9 – 函數與物件 Function and Object
  • [筆記] JavaScript 的基本觀念 – 8 – Boolean & if/else
  • [筆記] JavaScript 的基本觀念 – 17 – 內建函數建構子
  • [筆記] JavaScript 的基本觀念 – 7 – 運算子
  • [筆記] JavaScript 的基本觀念 – 6 – 型別
  • [筆記] JavaScript 的基本觀念 – 5 – Asynchronous
  • [筆記] JavaScript 的基本觀念 – 4 – Variable Environment
  • [筆記] JavaScript 的基本觀念 – 3 – Execution Stack
  • [筆記] JavaScript 的基本觀念 – 2 – undefined
  • [筆記] JavaScript 全攻略:克服 JS 的奇怪部分
  • [筆記] JavaScript 的基本觀念 – 1 – Hoisting
  • 按讚加入粉絲團

    延伸閱讀