首頁 > web前端 > js教程 > JavaScript中建構函式與原型鏈的關係介紹

JavaScript中建構函式與原型鏈的關係介紹

不言
發布: 2019-02-23 17:04:28
轉載
2304 人瀏覽過

這篇文章帶給大家的內容是關於JavaScript中建構函數與原型鏈之間的關係介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

在Javascript中不存在class的概念,它的class概念是透過建構函式(constructor)與原型鏈(prototype)來實現。

1.建構函式(constructor):建立物件時的初始化對象,總是與new 關鍵是一同出現。

建構函數有下列特點:
   1、建構函數內的this 指向目前實例物件。
   2、使用new 關鍵字實例化目前物件。
   3、建構函數首字母大寫,區分普通函數。
   4、實例物件都可以繼承建構函式中的屬性與方法。但是,同一個物件實例之間,無法共用屬性。

2.原型(prototype):是一個對象,實現對象的屬性繼承。 javascript 中的物件透過proto 來指向原型對象,可以透過Object.__proto__ 來存取

3.建構子與與原型的連結:

   <script>
   function  Demo(){
            
     }
     var demo = new Demo()
     var  data= demo.prototype = function(){

     }
    
     console.log(demo.__proto__)
     console.log(data.constructor )
     console.log(data.prototype.__proto__)
     console.log(demo.constructor.prototype)
     console.log(demo.constructor)
    输出:
    {constructor: ƒ}constructor: ƒ Demo()__proto__: Object
    ƒ Function() { [native code] }
    {constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
    {constructor: ƒ}
    ƒ Demo(){    }
</script>
登入後複製

從以上輸出結果可見:

  建構函數的__proto__ 指向原型物件;
    原型的constructor 指向建構子Function;
    原型的prototype.__proto__  等於Object.__proto__;
   # 的.prototype 指向原型;
    實例的constructor 指向建構子  

引用圖例:
![1460000018155881][1]     

以上是JavaScript中建構函式與原型鏈的關係介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:segmentfault.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板