JavaScript類繼承及執行個體化的方法_javascript技巧

來源:互聯網
上載者:User

本文執行個體講述了JavaScript類繼承及執行個體化的方法。分享給大家供大家參考。具體如下:

(function(){  var Class = {    //擴充類    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;    },    //執行個體化類    new: function(jclass,args){      var jclass = new jclass();      if(jclass.initialize){        jclass.initialize.apply(jclass, args);      }      return jclass;    }  };  //export  window.Class = Class;})();

樣本:

//基類對象或函數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;//鏈式操作支援  },  //...};//從Object繼承var class_frome_obj = Class.create(obj,{  initialize: function(){    //建構函式  },  getName: function(){    return this.name;  },  setName: function(name){    this.name = name;    return this;//鏈式操作支援  },  //...});//從Function繼承var class_frome_fun = Class.create(fun,{  initialize: function(){    //建構函式  },  //...});//從空對產生基類var class_frome_base = Class.create({},{  initialize: function(){    //建構函式  },  //...});//執行個體化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);//BaseNamevar name2 = get_class_frome_obj.setName('NewName').getName();//console.log(name2);//NewName

希望本文所述對大家的javascript程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.