欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

原型鏈機(jī)制:

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

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

構(gòu)造函數(shù)和原型還有實(shí)例之間的關(guān)系:

  每個(gè)構(gòu)造函數(shù)都有一個(gè)原型對(duì)象(prototype),原型對(duì)象都包含一個(gè)指向構(gòu)造函數(shù)的指針(constructor),而實(shí)例都包含一個(gè)指向原型對(duì)象的內(nèi)部指針 ( __propto__ ) 。關(guān)系圖如下圖所示:

JavaScript 常見的繼承方式匯總

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

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

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

一.原型繼承

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

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

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)頁(yè)題目:JavaScript常見的繼承方式匯總-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.chinadenli.net/article40/gieho.html

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

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

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