欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript類繼承及實例化的方法

 更新時間:2015年07月25日 15:48:18   作者:狂飆的小蝸牛  
這篇文章主要介紹了JavaScript類繼承及實例化的方法,較為詳細(xì)的分析了javascript擴展類、實例化類及類對象與成員函數(shù)的使用技巧,需要的朋友可以參考下

本文實例講述了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;
})();

示例:

//基類對象或函數(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ù)
  },
  //...
});
//從空對生成基類
var class_frome_base = Class.create({},{
  initialize: function(){
    //構(gòu)造函數(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

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • JavaScript動態(tài)改變表格單元格內(nèi)容的方法

    JavaScript動態(tài)改變表格單元格內(nèi)容的方法

    這篇文章主要介紹了JavaScript動態(tài)改變表格單元格內(nèi)容的方法,涉及javascript操作html中table表格的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • JavaScript實現(xiàn)頁面跳轉(zhuǎn)的幾種常用方式

    JavaScript實現(xiàn)頁面跳轉(zhuǎn)的幾種常用方式

    這篇文章主要介紹了JavaScript實現(xiàn)頁面跳轉(zhuǎn)的幾種常用方式,結(jié)合實例形式對比分析了JavaScript頁面跳轉(zhuǎn)的常見實現(xiàn)技巧與相關(guān)注意事項,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • 重新理解JavaScript的六種繼承方式

    重新理解JavaScript的六種繼承方式

    通過本文帶領(lǐng)大家一起重新理解JavaScript的六種繼承方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • Javascript表單特效之十大常用原理性樣例代碼大總結(jié)

    Javascript表單特效之十大常用原理性樣例代碼大總結(jié)

    開頭說這個常用原理性樣例,大家可能不太清楚,這篇文章主要是針對實際開發(fā)中常用的一些代碼分析,主要是針對表單處理方法的一些資料,推薦大家收藏
    2016-07-07
  • 淺析Echarts圖表渲染導(dǎo)致內(nèi)存泄漏的原因及解決方案

    淺析Echarts圖表渲染導(dǎo)致內(nèi)存泄漏的原因及解決方案

    在今年某個可視化大屏項目中,出現(xiàn)了一個問題,項目在運行一段時間后,頁面出現(xiàn)了崩潰,而且是大概運行幾天之后,因為大屏項目是部署到客戶現(xiàn)場大屏,長時間運行不關(guān)閉,小編認(rèn)為 Echarts 圖表渲染導(dǎo)致了內(nèi)存泄漏,本文將深入分析這一問題,并提供解決方案
    2023-10-10
  • javascript關(guān)鍵字加亮加連接

    javascript關(guān)鍵字加亮加連接

    我想在頁面里把想要的關(guān)鍵詞加亮凸出(用顏色區(qū)分出來)顯示,這樣讓客戶一眼能看到重的東西,然后在加亮的關(guān)鍵詞上可以加上超連接.請問高手們怎么實現(xiàn)宋的功能.就像搜索引擎的那種..搜索關(guān)鍵詞的時候就顯示紅色的.
    2008-06-06
  • JS調(diào)用頁面表格導(dǎo)出excel示例代碼

    JS調(diào)用頁面表格導(dǎo)出excel示例代碼

    這篇文章主要介紹了JS調(diào)用頁面表格導(dǎo)出excel的具體實現(xiàn),需要的朋友可以參考下
    2014-03-03
  • 原生JS實現(xiàn)不斷變化的標(biāo)簽

    原生JS實現(xiàn)不斷變化的標(biāo)簽

    這篇文章主要介紹了原生JS實現(xiàn)不斷變化的標(biāo)簽,可以上下浮動,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • JavaScript 組件之旅(二)編碼實現(xiàn)和算法

    JavaScript 組件之旅(二)編碼實現(xiàn)和算法

    話說上期我們討論了隊列管理組件的設(shè)計,并且給它取了個響亮而獨特的名字:Smart Queue. 這次,我們要將之前的設(shè)計成果付諸實踐,用代碼來實現(xiàn)它。
    2009-10-10
  • js中DOM三級列表(代碼分享)

    js中DOM三級列表(代碼分享)

    本篇文章主要介紹了js中DOM實現(xiàn)三級列表的代碼,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03

最新評論