iT邦幫忙

6

理解JavaScript的繼承機制

對於沒有class的JavaScript來說,繼承機制一直是大家難以切入或是爭議不休的地方,有幾篇文章是我自己覺得理解JavaScript繼承機制不錯的文章,分享給各位。
Javascript继承机制的设计思
http://www.ruanyifeng.com/blog/2011/06/designing\_ideas\_of\_inheritance\_mechanism\_in\_javascript.html
作者從歷史的角度,說明JavaScript的繼承機制是如何發展出來的。Brendan Eich當初在設計JavaScript時,就是打定主意要簡單,如果再去設計Class,就會讓整個語言複雜起來,因此採取了只用建構式和prototype的方式,以付出最少的代價,但能做到類似繼承的效果。

JavaScript Essence: 建構式(Constructor)
http://caterpillar.onlyfun.net/Gossip/JavaScript/Constructor.html
建構式就像上面所說,是JavaScript建立物件的方式,就如上面一篇文章所述,基本上就是簡化過的類別機制,因此理解建構式是理解JavaScript繼承機制的重要基石

JavaScript Essence: 函式 prototype 特性
http://caterpillar.onlyfun.net/Gossip/JavaScript/Prototype.html
要知道JavaScript的核心特色與繼承機制,prototype是一定要深入理解的部分

JS101: Prototypes
http://dailyjs.com/2012/05/21/js101-prototype/
雖然是英文的,不過用的例子淺顯易懂,也是理解prototype的好文

JavaScript Essence: 類別模擬
http://caterpillar.onlyfun.net/Gossip/JavaScript/ClassSimulation.html
說明如何用JavaScript來作類別的模擬與繼承

JavaScript的原型與繼承
http://msdn.microsoft.com/zh-tw/magazine//ff852808.aspx
這篇文章作者相當用心地用了圖解以及讓你可以跟著操作的方式,讓你理解原型繼承的方式。


尚未有邦友留言

立即登入留言