JavaScript繼承與多繼承實(shí)例分析
本文實(shí)例講述了JavaScript繼承與多繼承。分享給大家供大家參考,具體如下:
雖然最新的EC6里邊已經(jīng)有了class的相關(guān)功能,但是從普及度上和閱讀舊代碼需求的方面來(lái)看,這點(diǎn)知識(shí)也得了解一下。
本文結(jié)構(gòu):
① 原理及分析
② 簡(jiǎn)單封裝后的運(yùn)用
1. 繼承
① 原理及分析
先上一張圖:
用這段代碼的思想來(lái)實(shí)現(xiàn)繼承,即:
var inherit=function(objBase){ var F=function(){}; //第一步:定義一個(gè)函數(shù)F F.prototype=objBase; //第二步:將傳進(jìn)來(lái)的基類對(duì)象(objBase)賦給函數(shù)F的原型(F.prototype) return new F(); //第三步:返回一個(gè)F對(duì)象(已經(jīng)具備了objBase特征) }
② 簡(jiǎn)單封裝后的運(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);
② 簡(jiǎn)單封裝后的運(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)文章
支付寶小程序自定義彈窗dialog插件的實(shí)現(xiàn)代碼
支付寶小程序官方提供的alert提示框、dialog對(duì)話框、model彈窗功能比較有限,有些都不能隨意自定義修改的。這篇文章主要介紹了支付寶小程序自定義彈窗dialog插件的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-11-11純js代碼實(shí)現(xiàn)未知寬高的元素在指定元素中垂直水平居中顯示
本章節(jié)介紹一下如何實(shí)現(xiàn)未知寬高的元素在指定元素下實(shí)現(xiàn)垂直水平居中效果,代碼簡(jiǎn)單易懂,需要的朋友可以參考下本文2015-09-09uni.setNavigationBarColor設(shè)置字體顏色及背景色無(wú)效的4個(gè)原因及解決
這篇文章主要給大家介紹了關(guān)于uni.setNavigationBarColor設(shè)置字體顏色及背景色無(wú)效的4個(gè)原因及正確解決辦法,文中還介紹了uni-app設(shè)置頁(yè)面導(dǎo)航條顏色的實(shí)例代碼,需要的朋友可以參考下2024-01-01JS實(shí)現(xiàn)DOM刪除節(jié)點(diǎn)操作示例
這篇文章主要介紹了JS實(shí)現(xiàn)DOM刪除節(jié)點(diǎn)操作,結(jié)合實(shí)例形式分析了javascript使用removeChild()操作頁(yè)面dom節(jié)點(diǎn)刪除功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04JavaScript實(shí)現(xiàn)獲取年月日時(shí)間的方法總結(jié)
這篇文章主要為大家學(xué)習(xí)介紹了JavaScript如何實(shí)現(xiàn)獲取年月日以及各種格式的時(shí)間,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以了解一下2023-08-08js多級(jí)樹形彈出一個(gè)小窗口層(非常好用)實(shí)例代碼
js多級(jí)樹形彈出一個(gè)小窗口層(非常好用)實(shí)例代碼,需要的朋友可以參考一下2013-03-03ES6實(shí)現(xiàn)的遍歷目錄函數(shù)示例
這篇文章主要介紹了ES6實(shí)現(xiàn)的遍歷目錄函數(shù),涉及ES6文件目錄的遍歷、讀取、回調(diào)函數(shù)及json相關(guān)操作技巧,需要的朋友可以參考下2017-04-04