小編給大家分享一下JavaScript中構(gòu)造函數(shù)與原型鏈之間的關(guān)系是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
在Javascript中不存在class的概念,它的class概念是通過(guò)構(gòu)造函數(shù)(constructor)與原型鏈(prototype)來(lái)實(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ù)首字母大寫(xiě),區(qū)分普通函數(shù)。
4、實(shí)例對(duì)象都可以繼承構(gòu)造函數(shù)中的屬性和方法。但是,同一個(gè)對(duì)象實(shí)例之間,無(wú)法共享屬性。
2.原型(prototype):是一個(gè)對(duì)象,實(shí)現(xiàn)對(duì)象的屬性繼承。javascript 中的對(duì)象通過(guò)proto來(lái)指向原型對(duì)象,可以通過(guò)Object.__proto__ 來(lái)訪問(wèn)
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)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁(yè)標(biāo)題:JavaScript中構(gòu)造函數(shù)與原型鏈之間的關(guān)系是什么-創(chuàng)新互聯(lián)
URL標(biāo)題:http://www.chinadenli.net/article30/dpjgpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、軟件開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)、云服務(wù)器、網(wǎng)站制作、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容