国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 12:04:34
字體:
供稿:網(wǎng)友

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

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

構(gòu)造函數(shù)存在以下特點:

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

2.原型(prototype):是一個對象,實現(xiàn)對象的屬性繼承。javascript 中的對象通過 proto 來指向原型對象,可以通過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__ 指向原型對象;
原型的constructor 指向構(gòu)造函數(shù)Function;
原型的 prototype.__proto__ 等于 Object.__proto__;
實例 的 constructor.prototype 指向原型;
實例的constructor 指向構(gòu)造函數(shù)

引用圖例:

![1460000018155881][1]

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 孝义市| 建水县| 宜春市| 惠州市| 醴陵市| 金堂县| 元阳县| 吉安县| 兴化市| 彭州市| 赤城县| 射阳县| 扶沟县| 华宁县| 高阳县| 安多县| 天峨县| 炎陵县| 深泽县| 定远县| 界首市| 西充县| 通榆县| 江安县| 杂多县| 白河县| 芜湖市| 兴义市| 天祝| 南宫市| 开化县| 河池市| 周宁县| 泉州市| 阿克苏市| 阳城县| 米林县| 安国市| 长海县| 个旧市| 广昌县|