最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年02月25日 08:36:52   投稿:laozhang  
在本篇文章里小編給大家分享了關(guān)于JavaScript中構(gòu)造函數(shù)與原型鏈之間的關(guān)系相關(guān)知識點(diǎn),需要的朋友們學(xué)習(xí)下。

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

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

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

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

2.原型(prototype):是一個(gè)對象,實(shí)現(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__;
實(shí)例 的 constructor.prototype 指向原型;
實(shí)例的constructor 指向構(gòu)造函數(shù)

引用圖例:

![1460000018155881][1]

相關(guān)文章

最新評論

河曲县| 西宁市| 辉南县| 潞西市| 杭州市| 依兰县| 鹿邑县| 金塔县| 龙井市| 汾西县| 安塞县| 康乐县| 浠水县| 海宁市| 晋州市| 潼关县| 泰安市| 东宁县| 涿鹿县| 凤阳县| 内丘县| 迁安市| 盐源县| 化州市| 河北省| 洛宁县| 阿瓦提县| 萨嘎县| 南城县| 元阳县| 闸北区| 长顺县| 雅江县| 花莲县| 沛县| 云梦县| 碌曲县| 罗田县| 百色市| 浦县| 绵阳市|