亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript中子對(duì)象訪問(wèn)父對(duì)象的方式詳解

 更新時(shí)間:2016年09月01日 10:12:39   作者:秋天的風(fēng),夏天的雨  
js中雖然沒(méi)有傳統(tǒng)面向?qū)ο蟮木幊陶Z(yǔ)言里子類訪問(wèn)父類的特殊語(yǔ)法,但是我們可以根據(jù)需要造一個(gè),接下來(lái)本文給大家分享在JavaScript中子對(duì)象訪問(wèn)父對(duì)象的方式,需要的朋友可以參考下

在傳統(tǒng)面向?qū)ο蟮木幊陶Z(yǔ)言里,都會(huì)提供一種子類訪問(wèn)父類的特殊語(yǔ)法,引文我們?cè)趯?shí)現(xiàn)子類方法往往需要父類方法的額外輔助。在這種情況下,子類通常會(huì)調(diào)用父類中的同名方法,最終以便完成工作。

javascript雖然沒(méi)有類似上述的特殊語(yǔ)法,但我們可以造一個(gè)??!

function her(){};
her.prototype.name = 'Anna';
her.prototype.toString = function(){
var const = this.constructor;
return const.uber ? this.const.uber.toString() + ',' + this.name : this.name;
}
function his(){};
var F = function(){};
F.prototype = her.prototype;
his.prototype = new F();
his.prototype.constructor = her;
his.uber = her.prototype;
his.prototype.name ='Jock';
function child(width, height){
this.width = width;
this.height = height;
}
var F = function(){};
F.prototype = his.prototype;
child.prototype = new F();
child.prototype.constructor = child;
child.uber = his.prototype;
child.prototype.name = 'Los';
child.prototype.getArea = function(){
return this.width * this.height;
}

我們?cè)跇?gòu)建關(guān)系的過(guò)程中,我們引入了一個(gè)uber屬性,并令其指向父及對(duì)象。

在這里,我們更新了以下內(nèi)容:

  1. 將usber屬性設(shè)置成指向父對(duì)象的引用;

  2. 對(duì)toString()方法進(jìn)行了更新;

之前的toString()方法只是簡(jiǎn)單的返回this.name,現(xiàn)在我們給他添加了額外的任務(wù),就是檢查this.constructor.usber屬性,如果存在就調(diào)用該屬性的toString()方法。

由于this.constructor本身是一個(gè)函數(shù),而this.constructo.usber是指向當(dāng)前對(duì)象父級(jí)原型的引用,所以我們調(diào)用child實(shí)體的toString()方法時(shí),其原型鏈上的toString()方法都會(huì)被調(diào)用。

var my = child(1,2);
my.toString() // Anna, Jock, Los

以上所述是小編給大家介紹的JavaScript中子對(duì)象訪問(wèn)父對(duì)象的方式詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論