js類的繼承定義與用法分析
本文實(shí)例講述了js類的繼承定義與用法。分享給大家供大家參考,具體如下:
如何實(shí)現(xiàn)類的繼承呢?
有如下2個(gè)構(gòu)造函數(shù):
function PeopleClass(){
this.type = "人";
};
PeopleClass.ptototype = {
getType:function(){
alert("這是一個(gè)人");
}
};
function StudentClass(name,sex){
this.name = name;
this.sex = sex;
};
如何讓『學(xué)生』對象來繼承『人』對象呢?可使用apply方法將父對象的構(gòu)造函數(shù)綁定在子對象上,代碼如下:
function PeopleClass(){
this.type = "人";
};
PeopleClass.ptototype = {
getType:function(){
alert("這是一個(gè)人");
}
};
function StudentClass(name,sex){
PeopleClass.apply(this,arguments);
this.name = name;
this.sex = sex;
};
var stu = new StudentClass("lily","男");
alert(stu.type); //[人]
從運(yùn)行的結(jié)果來看,StudentClass繼承了PeopleClass的屬性『人』。
而方法的繼承,只要循環(huán)使用父對象的prototype進(jìn)行復(fù)制,即可達(dá)到繼承的目的。方法如下:
function StudentClass(name,sex){
PeopleClass.apply(this,arguments);
var prop;
for(prop in PeopleClass.prototype){
var proto = this.constructor.prototype;
if(!proto[prop]){
proto[prop] = PeopleClass.prototype[prop];
}
proto[prop]["super"] = PeopleClass.prototype;
}
this.name = name;
this.sex = sex;
};
var stu = new StudentClass("lily","女");
alert(stu.type); //[人]
stu.getType(); //[這是一個(gè)人]
以上就是js中繼承的實(shí)現(xiàn)。
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。
更多關(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é)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用JavaScript制作待辦事項(xiàng)列表的示例代碼
這篇文章主要介紹了如何使用 JavaScript創(chuàng)建待辦事項(xiàng)列表HTML的完整信息和教程,文中但是示例代碼講解詳細(xì),感興趣的同學(xué)可以動(dòng)手試一試2022-01-01
Bootstrap3.0建站教程(一)之bootstrap表單元素排版
本文給大家介紹Bootstrap3.0建站教程(一)之bootstrap表單元素排版,本文給大家列舉了文字和輸入框前后排列和上下排列的實(shí)例代碼,有需要的朋友參考下吧2016-06-06
前端實(shí)現(xiàn)界面元素拖拽功能的3種方式總結(jié)(親測有效)
這篇文章主要介紹了前端實(shí)現(xiàn)界面元素拖拽功能的3種方式,三種方法分別是純HTML+CSS+JS、Vue模板和Vue全局指令,每種方法都通過監(jiān)聽鼠標(biāo)事件來實(shí)現(xiàn)元素的拖動(dòng)功能,并通過控制閥來確保只有在指定區(qū)域按下鼠標(biāo)時(shí)才開始拖動(dòng),需要的朋友可以參考下2025-02-02

