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

首頁 > 編程 > JavaScript > 正文

js類式繼承與原型式繼承詳解

2019-11-20 10:17:04
字體:
供稿:網(wǎng)友

本文實例為大家分享了js類式繼承與原型式繼承相關(guān)代碼,供大家參考,具體內(nèi)容如下

1.js類式繼承

/* -- 類式繼承 -- *///先聲明一個超類function Person(name) {this.name = name;}//給這個超類的原型對象上添加方法 getName Person.prototype.getName = function() {return this.name;}//實例化這個超var a = new Person('Darren1')console.log(a.getName());//Darren1//再聲明類function Programmer(name, sex) {//這個類中要調(diào)用超類Person的構(gòu)造函數(shù),并將參數(shù)name傳給它Person.call(this, name);this.sex = sex;}//這個子類的原型對象等于超類的實例Programmer.prototype = new Person();//因為子類的原型對象等于超類的實例,所以prototype.constructor這個方法也等于超類構(gòu)造函數(shù),你可以自己測試一下,如果沒這一步,console.log(Programmer.prototype.constructor這個是Person超類的引用,所以要從新賦值為自己本身console.log(Programmer.prototype.constructor);/*function Person(name) {this.name = name;} */Programmer.prototype.constructor = Programmer;console.log(Programmer.prototype.constructor);/*function Programmer(name, sex) {Person.call(this, name);this.sex = sex;} *///子類本身添加了getSex 方法Programmer.prototype.getSex = function() {return this.sex;}//實例化這個子類var _m = new Programmer('Darren2', 'male');//自身的方法console.log(_m.getSex());//male//繼承超類的方法console.log(_m.getName());//Darren2

2.js原型式繼承

/* -- 原型式繼承 -- *///clone()函數(shù)用來創(chuàng)建新的類Person對象var clone = function(obj) {4var _f = function() {};//這句是原型式繼承最核心的地方,函數(shù)的原型對象為對象字面量_f.prototype = obj;return new _f;}//先聲明一個對象字面量var Person = {name: 'Darren',getName: function() {return this.name;}}//不需要定義一個Person的子類,只要執(zhí)行一次克隆即可var Programmer = clone(Person);//可以直接獲得Person提供的默認值,也可以添加或者修改屬性和方法alert(Programmer.getName())Programmer.name = 'Darren2'alert(Programmer.getName())//聲明子類,執(zhí)行一次克隆即可var Someone = clone(Programmer);

以上就是本文的全部內(nèi)容,希望對大家學習javascript程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宿州市| 靖宇县| 铅山县| 黄石市| 出国| 巴青县| 凤山县| 运城市| 常山县| 永嘉县| 盘山县| 龙川县| 通河县| 介休市| 内江市| 永善县| 蓝田县| 普格县| 玉林市| 农安县| 定结县| 漳州市| 镇安县| 饶河县| 榕江县| 维西| 翁牛特旗| 山西省| 揭西县| 公安县| 东乡县| 项城市| 嘉义县| 阿勒泰市| 武清区| 玉溪市| 寿阳县| 梨树县| 新化县| 桂东县| 凭祥市|