JavaScript常見的繼承方式匯總-創(chuàng)新互聯(lián)

原型鏈機制:

創(chuàng)新互聯(lián)公司是一家業(yè)務范圍包括IDC托管業(yè)務,網(wǎng)絡空間、主機租用、主機托管,四川、重慶、廣東電信服務器租用,資陽托管服務器,成都網(wǎng)通服務器托管,成都服務器租用,業(yè)務范圍遍及中國大陸、港澳臺以及歐美等多個國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務公司。

  在ECMAscript中描述了原型鏈的概念,并將原型鏈作為實現(xiàn)繼承的主要方法,其基本思想就是利用原型讓一個引用類型繼承另一個引用類型的屬性和方法。

構造函數(shù)和原型還有實例之間的關系:

  每個構造函數(shù)都有一個原型對象(prototype),原型對象都包含一個指向構造函數(shù)的指針(constructor),而實例都包含一個指向原型對象的內部指針 ( __propto__ ) 。關系圖如下圖所示:

JavaScript 常見的繼承方式匯總

  每一個Function都是Object基類的一個實例,所以每一個Function上都有一個__proto__指向了Object.prototype。

  當查找一個實例的屬性時,會先從這個實例的自定義屬性上找,如果沒有的話通過__proto__去實例所屬類的原型上去找,如果還沒有的話再通過原型(原型也是對象,只要是對象就有__proto__屬性)的__proto__到Object的原型上去找,一級一級的找,如果沒有就undefined。

  所以引用類型之間的繼承就是通過原型鏈機制實現(xiàn)的。

一.原型繼承

  原型繼承:把父類的私有+公有的屬性和方法,都作為子類公有的屬性。

  核心:不是把父類私有+公有的屬性克隆一份一模一樣的給子類的公有。他是通過__proto__建立和子類之間的原型鏈,當子類的實例需要使用父類的屬性和方法的時候,可以通過__proto__一級級找上去使用?!?/p>

function Parent(){
  this.x = 199;
  this.y = 299;
}
Parent.prototype.say = function(){
  console.log('say')
}
function Child(){
  this.g = 90;
}
Child.prototype = new Parent();
var p = new Parent();
var c = new Child();
console.dir(c)

網(wǎng)頁題目:JavaScript常見的繼承方式匯總-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://bm7419.com/article40/gieho.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、服務器托管、網(wǎng)站策劃、小程序開發(fā)、全網(wǎng)營銷推廣虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化