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

用這段代碼的思想來實現(xiàn)繼承,即:
var inherit=function(objBase){
var F=function(){}; //第一步:定義一個函數(shù)F
F.prototype=objBase; //第二步:將傳進來的基類對象(objBase)賦給函數(shù)F的原型(F.prototype)
return new F(); //第三步:返回一個F對象(已經(jīng)具備了objBase特征)
}
② 簡單封裝后的運用
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. 多繼承
① 原理及分析
多繼承就是將多個對象的成員,交給當前對象
var o1={name:"倩倩"} //對象的字面值
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);
② 簡單封裝后的運用
Function.prototype.inherits=function(){
var arr=arguments; //將接收到的arguments對象傳給數(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:"倩倩"} //對象的字面值
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錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- JavaScript實現(xiàn)多重繼承的方法分析
- 深入淺析javascript繼承體系
- JS繼承與閉包及JS實現(xiàn)繼承的三種方式
- js中繼承的幾種用法總結(jié)(apply,call,prototype)
- JavaScript是如何實現(xiàn)繼承的(六種方式)
- 深入了解javascript中的prototype與繼承
- Javascript基于對象三大特性(封裝性、繼承性、多態(tài)性)
- javascript的函數(shù)、創(chuàng)建對象、封裝、屬性和方法、繼承
- Javascript 繼承機制的實現(xiàn)
- JavaScript的原型繼承詳解
- JavaScript繼承定義與用法實踐分析
相關(guān)文章
支付寶小程序自定義彈窗dialog插件的實現(xiàn)代碼
支付寶小程序官方提供的alert提示框、dialog對話框、model彈窗功能比較有限,有些都不能隨意自定義修改的。這篇文章主要介紹了支付寶小程序自定義彈窗dialog插件的實現(xiàn)代碼,需要的朋友可以參考下2018-11-11
純js代碼實現(xiàn)未知寬高的元素在指定元素中垂直水平居中顯示
本章節(jié)介紹一下如何實現(xiàn)未知寬高的元素在指定元素下實現(xiàn)垂直水平居中效果,代碼簡單易懂,需要的朋友可以參考下本文2015-09-09
uni.setNavigationBarColor設(shè)置字體顏色及背景色無效的4個原因及解決
這篇文章主要給大家介紹了關(guān)于uni.setNavigationBarColor設(shè)置字體顏色及背景色無效的4個原因及正確解決辦法,文中還介紹了uni-app設(shè)置頁面導航條顏色的實例代碼,需要的朋友可以參考下2024-01-01
JavaScript實現(xiàn)獲取年月日時間的方法總結(jié)
這篇文章主要為大家學習介紹了JavaScript如何實現(xiàn)獲取年月日以及各種格式的時間,文中的示例代碼簡潔易懂,感興趣的小伙伴可以了解一下2023-08-08

