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

首頁 > 編程 > JavaScript > 正文

JavaScript中子對象訪問父對象的方式詳解

2019-11-20 09:06:52
字體:
來源:轉載
供稿:網友

在傳統面向對象的編程語言里,都會提供一種子類訪問父類的特殊語法,引文我們在實現子類方法往往需要父類方法的額外輔助。在這種情況下,子類通常會調用父類中的同名方法,最終以便完成工作。

javascript雖然沒有類似上述的特殊語法,但我們可以造一個啊!

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;}

我們在構建關系的過程中,我們引入了一個uber屬性,并令其指向父及對象。

在這里,我們更新了以下內容:

  1. 將usber屬性設置成指向父對象的引用;

  2. 對toString()方法進行了更新;

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

由于this.constructor本身是一個函數,而this.constructo.usber是指向當前對象父級原型的引用,所以我們調用child實體的toString()方法時,其原型鏈上的toString()方法都會被調用。

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

以上所述是小編給大家介紹的JavaScript中子對象訪問父對象的方式詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 远安县| 改则县| 海南省| 博罗县| 铁岭市| 呼伦贝尔市| 馆陶县| 城固县| 东辽县| 丘北县| 卢龙县| 红桥区| 高雄市| 弋阳县| 紫金县| 安化县| 新巴尔虎左旗| 贞丰县| 福贡县| 内乡县| 南和县| 宜良县| 和静县| 通州市| 海丰县| 马尔康县| 邵武市| 托克托县| 达拉特旗| 都昌县| 瑞昌市| 奉化市| 凤台县| 乳山市| 特克斯县| 平遥县| 靖西县| 龙胜| 维西| 天全县| 绥江县|