1. 程式人生 > >關於JavaScript中prototype機制的理解

關於JavaScript中prototype機制的理解

func image 開始 auto com scrip pla 技術 研究

  最近幾天一直在研究JavaScript中原型的機制,從開始的似懂非懂,到今天終於有所領悟。不敢說徹底理解,但是起碼算知道怎麽回事了。

  為什麽一開始似懂非懂

  開始了解一遍原型機制後,感覺知其然但不知其所以然,只知道每個函數對象內部都有一個原型對象(prototype),並且該函數對象的實例會有一個內部指針(_proto_)指向該原型。如下圖所示:

技術分享圖片

  這個機制不算復雜,但也是知其然不知其所以然,主要是有下面兩個疑問:

  1.為什麽會有prototype和_proto_兩個指針,為什麽prototype只有Function對象有而普通(Object)對象沒有

  2.函數對象(Foo)維護這個prototype對象有什麽用,上圖這個foo對象能用來幹什麽

關於JavaScript中prototype機制的理解