這篇文章主要介紹了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)讲僮髦С?/span>
- },
- //...
- };
- //從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)讲僮髦С?/span>
- },
- //...
- });
- //從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ì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選