JavaScript類繼承及實(shí)例化的方法
更新時(shí)間:2015年07月25日 15:48:18 作者:狂飆的小蝸牛
這篇文章主要介紹了JavaScript類繼承及實(shí)例化的方法,較為詳細(xì)的分析了javascript擴(kuò)展類、實(shí)例化類及類對(duì)象與成員函數(shù)的使用技巧,需要的朋友可以參考下
本文實(shí)例講述了JavaScript類繼承及實(shí)例化的方法。分享給大家供大家參考。具體如下:
(function(){
var Class = {
//擴(kuò)展類
create: function(aBaseClass, aClassDefine){
var $class = function(){
for(var member in aClassDefine){
this[member] = aClassDefine[member];
}
if('undefined'===typeof aClassDefine.initialize){
this.initialize = function(){};
}
};
if('function' ===typeof aBaseClass){
$class.prototype = new aBaseClass();
}else if('object' ===typeof aBaseClass){
$class.prototype = aBaseClass;
}
return $class;
},
//實(shí)例化類
new: function(jclass,args){
var jclass = new jclass();
if(jclass.initialize){
jclass.initialize.apply(jclass, args);
}
return jclass;
}
};
//export
window.Class = Class;
})();
示例:
//基類對(duì)象或函數(shù)
var obj = {
name: 'BaseName',
init: function(){
//...
},
//...
};
var fun = function(){
this.name = '';
var init = function(){
//.. .
};
var getName = function(){
return this.name;
},
var setName = function(name){
this.name = name;
return this;//鏈?zhǔn)讲僮髦С?
},
//...
};
//從Object繼承
var class_frome_obj = Class.create(obj,{
initialize: function(){
//構(gòu)造函數(shù)
},
getName: function(){
return this.name;
},
setName: function(name){
this.name = name;
return this;//鏈?zhǔn)讲僮髦С?
},
//...
});
//從Function繼承
var class_frome_fun = Class.create(fun,{
initialize: function(){
//構(gòu)造函數(shù)
},
//...
});
//從空對(duì)生成基類
var class_frome_base = Class.create({},{
initialize: function(){
//構(gòu)造函數(shù)
},
//...
});
//實(shí)例化
var get_class_frome_obj = Class.new(class_frome_obj,[arg1,arg2,...]);
var get_class_frome_fun = Class.new(class_frome_fun,[arg1,arg2,...]);
var name1 = get_class_frome_obj.getName();
//console.log(name1);//BaseName
var name2 = get_class_frome_obj.setName('NewName').getName();
//console.log(name2);//NewName
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
相關(guān)文章
cypress e2e測(cè)試編寫注意點(diǎn)總結(jié)分析
這篇文章主要為大家介紹了cypress e2e測(cè)試編寫注意點(diǎn)總結(jié)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Express結(jié)合Webpack的全棧自動(dòng)刷新
現(xiàn)在,webpack可以說是最流行的模塊加載器一方面,它為前端靜態(tài)資源的組織和管理提供了相對(duì)較完善的解決方案,另一方面,它也很大程度上改變了前端開發(fā)的工作流程。下面小編來和大家一起學(xué)習(xí)2019-05-05
如何使用TS對(duì)axios的進(jìn)行簡(jiǎn)單封裝
在vue項(xiàng)目中和后臺(tái)交互獲取數(shù)據(jù)這塊,我們通常使用的是axios庫,這篇文章主要給大家介紹了關(guān)于如何使用TS對(duì)axios的進(jìn)行簡(jiǎn)單封裝的相關(guān)資料,需要的朋友可以參考下2022-10-10
淺談js中startsWith 函數(shù)不能在任何瀏覽器兼容的問題
下面小編就為大家?guī)硪黄獪\談js中startsWith 函數(shù)不能在任何瀏覽器兼容的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
JavaScript實(shí)現(xiàn)五種不同煙花特效
這篇文章主要給大家?guī)砦鍌€(gè)好看的基于 HTML+CSS+JS 的煙花特效,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript有一定的幫助,需要的可以參考一下2022-01-01
微信小程序的宿主環(huán)境實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序的宿主環(huán)境,包括scroll-view 組件的基本使用,text 組件的基本使用及rich-text 組件的基本使用,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
火狐和ie下獲取javascript 獲取event的方法(推薦)
下面小編就為大家?guī)硪黄鸷蚷e下獲取javascript 獲取event的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11

