對象中prototype與__proto__與從cinstructor的作用和區別
阿新 • • 發佈:2018-01-09
image 數獨 繼承 什麽 技術 有一個 proto 是什麽 info
首先先要知道prototype什麽時間才會有
只有在創建函數的時候,每當函數創建的時候才會原型prototype,還有一個constructor,這個不是函數獨有的,對象也有
下面就來說說對象prototype與__prototype的區別
首先用函數構造器實例化一個對象,註意這裏實例化後的obj是沒有prototype的,
但是obj有__proto__ 那麽我們就來看看obj的__proto__與obj的constructor是什麽
這裏明顯可以看出obj.__proto__指向的是構造器fun的原型,obj.constructor指向的是函數構造器,也就可以判斷這個對象是那個函數構造器的實例化
另外還得出一個結論
那麽再來看看構造器的__proto__與consytuctor,以下的案例可以明顯的看出函數構造器fun指向的都是Function
通過以上的案例,下面我們來實現一個小小的繼承
首先obj1.__proto__指向的是fun的函數構造器的原型(fun.prototype)
fun.prototype指向的是o這個對象,o的__proto__指向的是Object.prptotype,Object的__proto__指向的是null,因為Object是頂級的
對象中prototype與__proto__與從cinstructor的作用和區別