作者willy69wu31 (小小吳)
看板Ajax
標題[ js ] 物件導向的寫法
時間Wed Sep 11 20:16:35 2013
還沒有用 js 寫過物件導向的 code,
由於 js 的物件導向和其他語言很不一樣,先查了一些資料
像是這篇
http://www.josephjiang.com/presentation/OOJS/object-oriented-paradigms.html
文內就有提到好幾種物件導向的實作方式,
而且看起來應該也還有其他種方式。
有的用 prototype 寫 function,有的直接包物件內;
有的方式寫起來直觀,有的方式寫起來效能更好,
不知道各位用 js 寫物件導向的時候,通常會採用什麼方式?
以及是否有特別的原因?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.24.254.149
1F:→ danny8376:個人的話慣用JSON定義完整的prototype然後在assign 09/12 03:33
2F:→ danny8376:原因... jQuery就這樣寫的XD 09/12 03:33
3F:推 mrbigmouth:function + prototype 因為這就是javascript最原生的 09/12 09:32
4F:→ mrbigmouth:的class方法 根據以前我看v8引擎的介紹這樣寫也最快 09/12 09:33
5F:→ mrbigmouth:因此生出來的物件可以被記憶並且最優化 09/12 09:33
6F:推 mrbigmouth:而且據我所知大部份的class套件內部也是這樣寫的 09/12 09:35
7F:→ mrbigmouth:比如Backbone 09/12 09:35
8F:→ mrbigmouth:想要寫起來更直觀的話 使用這些套件就行了 09/12 09:35
9F:→ mrbigmouth:ECMA5的Object.create繼承法更適合定義資料或者設定y 09/12 09:36
10F:→ mrbigmouth:不過這是感覺上啦 09/12 09:37
11F:推 mrbigmouth:至於ECMA6的class就不知道是多久以後的事了.... 09/12 09:38
感謝各位回應
※ 編輯: willy69wu31 來自: 163.24.254.149 (09/13 16:26)
12F:推 jerry5:定義建構子去宣告新物件. 09/14 01:49