首頁  >  文章  >  web前端  >  javascript 原型 是什麼

javascript 原型 是什麼

藏色散人
藏色散人原創
2021-11-11 17:21:572960瀏覽

JavaScript的物件都有一個內建的Prototype私有屬性,這個屬性指向另一個對象,我們稱這個物件為原始物件的原型。

javascript 原型 是什麼

本文操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

javascript 原型是什麼?(包括作用:繼承)

#學習目標:
    認識什麼js是原型,原型、構成函數、實例物件關係;原型應用範圍。

什麼是原型
    函數有原型,函數有一個屬性叫prototype,函數的這個原型指向一個對象,這個物件叫做原型物件。這個原型物件有一個constructor屬性,指向這個函數本身。

    實例物件也存在原型,實例物件存在原型物件是__proto__,__proto__一般被稱為隱形原型,這個隱身原型有一個constructor屬性,該屬性指向建立該實例的建構子。


建構子、實例物件與原型直接關係
##建構函數和實例物件關係     在每個實例物件中的__proto__中同時有一個constructor 屬性,該屬性指向建立該實例的建構子:

實例物件__proto__與建構子prototype關係     在每個實例物件中的__proto__指向建構函數中prototype 兩個是相等的。

 

建構函數,prototype原型對象,實例對象,proto,constructor,直接關係

原型作用

    原型作用之一:資料共享,節省記憶體空間
  • 原型作用之二:為了實現繼承


#原型如何資料共享,節省記憶體空間      JavaScript 物件導向程式設計

 




#原型如何實作繼承

例如,現在有一個"動物"物件的建構子。

javascript 原型 是什麼

怎麼才能使"貓"繼承"動物"呢?      如果"貓"的prototype對象,指向一個Animal的實例,那麼所有"貓"的實例,就能繼承Animal了。



 

       cat1實例物件與建構函數關係圖如下

#         任何一個prototype物件都有一個constructor屬性,指向它的建構子。

       新增 Cat.prototype = new Animal();程式碼以後

       Cat.prototype.constructor指向Animal。

########## #######cat1實例物件與建構函式關係圖如下########### ####推薦學習:《###javascript基礎教學###》###### ####

以上是javascript 原型 是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn