溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript中構(gòu)造函數(shù)與原型鏈之間的關(guān)系是什么

發(fā)布時(shí)間:2020-12-03 10:31:04 來源:億速云 閱讀:181 作者:小新 欄目:web開發(fā)

小編給大家分享一下JavaScript中構(gòu)造函數(shù)與原型鏈之間的關(guān)系是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

在Javascript中不存在class的概念,它的class概念是通過構(gòu)造函數(shù)(constructor)與原型鏈(prototype)來實(shí)現(xiàn)。

1.構(gòu)造函數(shù)(constructor):創(chuàng)建對(duì)象時(shí)的初始化對(duì)象,總是與new 關(guān)鍵是一同出現(xiàn)。

構(gòu)造函數(shù)存在以下特點(diǎn):
   1、構(gòu)造函數(shù)內(nèi)的this 指向當(dāng)前實(shí)例對(duì)象。
   2、使用new 關(guān)鍵字實(shí)例化當(dāng)前對(duì)象。
   3、構(gòu)造函數(shù)首字母大寫,區(qū)分普通函數(shù)。
   4、實(shí)例對(duì)象都可以繼承構(gòu)造函數(shù)中的屬性和方法。但是,同一個(gè)對(duì)象實(shí)例之間,無法共享屬性。

2.原型(prototype):是一個(gè)對(duì)象,實(shí)現(xiàn)對(duì)象的屬性繼承。javascript 中的對(duì)象通過 proto 來指向原型對(duì)象,可以通過Object.__proto__ 來訪問

3.構(gòu)造函數(shù)與與原型的聯(lián)系:

   <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>

從以上輸出結(jié)果可以看出:

構(gòu)造函數(shù)的 __proto__ 指向原型對(duì)象;
    原型的constructor 指向構(gòu)造函數(shù)Function;
    原型的 prototype.__proto__  等于 Object.__proto__;
    實(shí)例 的 constructor.prototype 指向原型;
    實(shí)例的constructor 指向構(gòu)造函數(shù)

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

看完了這篇文章,相信你對(duì)JavaScript中構(gòu)造函數(shù)與原型鏈之間的關(guān)系是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI