45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 编程代码 > 阅读资讯:JavaScript类的继承和实例化教程分享

JavaScript类的继承和实例化教程分享

2015-08-12 07:41:04 来源:www.45fan.com 【

JavaScript类的继承和实例化教程分享

本文实例讲述了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);//BaseName
var name2 = get_class_frome_obj.setName('NewName').getName();
//console.log(name2);//NewName

希望本文所述对大家的javascript程序设计有所帮助。


本文地址:http://www.45fan.com/bcdm/17501.html
Tags: JavaScript 实例 继承
编辑:路饭网
推广内容
推荐阅读
热门推荐
推荐文章
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部