构造函数,对象原型,实例对象三者之间的关系
生活随笔
收集整理的這篇文章主要介紹了
构造函数,对象原型,实例对象三者之间的关系
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
擼了今年阿里、頭條和美團的面試,我有一個重要發現.......>>>
1.構造函數,原型對象,實例對象三者之間的關系
????每創建一個函數,該函數都會自動帶有一個prototype屬性。該屬性是一個指針,指向一個對象,該對象稱之為原型對象(后期我們可以使用這個原型對象幫助我們在js中實現繼承).
????原型對象上默認有一個屬性constructor,該屬性也是一個指針,指向其相關聯的構造函數。
????通過調用構造函數產生的實例對象,都擁有一個內部屬性,指向了原型對象。其實例對象能夠訪問原型對象上的所有屬性和方法。
總結:三者的關系是,每個構造函數都有一個原型對象,原型對象上包含著一個指向構造函數的指針,而實例都包含著一個指向原型對象的內部指針。通俗的說,實例可以通過內部指針訪問到原型對象,原型對象可以通過constructor找到構造函數。
以上代碼定義了一個構造函數People(),People.prototype指向原型對象,其自帶屬性construtor又指回了People,即People.prototype.constructor==People.實例對象person由于其內部指針指向了原型對象,所以可以訪問原型對象上的showType方法。
記住People.prototype只是一個指針,指向的是原型對象,而非構造函數,利用這個指針可以幫助我們實現js繼承
總結
以上是生活随笔為你收集整理的构造函数,对象原型,实例对象三者之间的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue.js 动态添加组件
- 下一篇: Elasticsearch 动态添加ma