JavaScript繼承與多繼承實(shí)例分析
本文實(shí)例講述了JavaScript繼承與多繼承。分享給大家供大家參考,具體如下:
雖然最新的EC6里邊已經(jīng)有了class的相關(guān)功能,但是從普及度上和閱讀舊代碼需求的方面來看,這點(diǎn)知識(shí)也得了解一下。
本文結(jié)構(gòu):
① 原理及分析
② 簡單封裝后的運(yùn)用
1. 繼承
① 原理及分析
先上一張圖:

用這段代碼的思想來實(shí)現(xiàn)繼承,即:
var inherit=function(objBase){
var F=function(){}; //第一步:定義一個(gè)函數(shù)F
F.prototype=objBase; //第二步:將傳進(jìn)來的基類對(duì)象(objBase)賦給函數(shù)F的原型(F.prototype)
return new F(); //第三步:返回一個(gè)F對(duì)象(已經(jīng)具備了objBase特征)
}
② 簡單封裝后的運(yùn)用
Function.prototype.inherit=function(objBase){
this.prototype=new objBase();
}
var Person=function(){
this.name="倩倩";
this.sex="女";
}
var Student=function(){
this.id="0712";
}
Student.inherit(Person);
var student=new Student();
alert(student.name +","+ student.sex +","+ student.id);
2. 多繼承
① 原理及分析
多繼承就是將多個(gè)對(duì)象的成員,交給當(dāng)前對(duì)象
var o1={name:"倩倩"} //對(duì)象的字面值
var o2={sex:"女"}
var She=function(){}
She.prototype={}; //先聲明
for(var k in o1){
She.prototype[k]=o1[k];
}
for(var k in o2){
She.prototype[k]=o2[k];
}
var she=new She();
alert(she.name + "," + she.sex);
② 簡單封裝后的運(yùn)用
Function.prototype.inherits=function(){
var arr=arguments; //將接收到的arguments對(duì)象傳給數(shù)組arr
this.prototype={};
for(var i=0;i<arr.length;i++){
for(var k in arr[i]){
var obj=arr[i];
this.prototype[k]=obj[k];
}
}
}
var o1={name:"倩倩"} //對(duì)象的字面值
var o2={sex:"女"}
var She=function(){}
She.inherits(o1,o2);
var she=new She();
alert(she.name + "," + she.sex);
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JavaScript實(shí)現(xiàn)多重繼承的方法分析
- 深入淺析javascript繼承體系
- JS繼承與閉包及JS實(shí)現(xiàn)繼承的三種方式
- js中繼承的幾種用法總結(jié)(apply,call,prototype)
- JavaScript是如何實(shí)現(xiàn)繼承的(六種方式)
- 深入了解javascript中的prototype與繼承
- Javascript基于對(duì)象三大特性(封裝性、繼承性、多態(tài)性)
- javascript的函數(shù)、創(chuàng)建對(duì)象、封裝、屬性和方法、繼承
- Javascript 繼承機(jī)制的實(shí)現(xiàn)
- JavaScript的原型繼承詳解
- JavaScript繼承定義與用法實(shí)踐分析
相關(guān)文章
小程序短信驗(yàn)證碼頁面實(shí)現(xiàn)demo
這篇文章主要為大家介紹了小程序短信驗(yàn)證碼頁實(shí)現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
JavaScript中的執(zhí)行環(huán)境和作用域鏈
這篇文章主要介紹了JavaScript中的執(zhí)行環(huán)境和作用域鏈,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2020-09-09
利用weixin-java-miniapp生成小程序碼并直接返回圖片文件流的方法
這篇文章主要介紹了利用weixin-java-miniapp生成小程序碼并直接返回圖片文件流的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
一文讀懂JS中的var/let/const和暫時(shí)性死區(qū)
這篇文章主要為大家詳細(xì)介紹了JavaScript中的var、let、const和暫時(shí)性死區(qū)的異同,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-02-02
JavaScript 定義function的三種方式小結(jié)
JavaScript中定義function有以下三種方式.2009-10-10
js 獲取頁面高度和寬度兼容 ie firefox chrome等
這篇文章主要介紹了js如何獲取頁面高度和寬度并且兼容ie firefox chrome等主流瀏覽器2014-05-05

