国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript類繼承及實例化的方法

2024-05-06 16:23:41
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了JavaScript類繼承及實例化的方法,較為詳細的分析了javascript擴展類、實例化類及類對象與成員函數的使用技巧,需要的朋友可以參考下

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

 

 
  1. (function(){ 
  2. var Class = { 
  3. //擴展類 
  4. create: function(aBaseClass, aClassDefine){ 
  5. var $class = function(){ 
  6. for(var member in aClassDefine){ 
  7. this[member] = aClassDefine[member]; 
  8. if('undefined'===typeof aClassDefine.initialize){ 
  9. this.initialize = function(){}; 
  10. }; 
  11. if('function' ===typeof aBaseClass){  
  12. $class.prototype = new aBaseClass();  
  13. }else if('object' ===typeof aBaseClass){ 
  14. $class.prototype = aBaseClass; 
  15. }  
  16. return $class
  17. }, 
  18. //實例化類 
  19. newfunction(jclass,args){ 
  20. var jclass = new jclass(); 
  21. if(jclass.initialize){ 
  22. jclass.initialize.apply(jclass, args); 
  23. return jclass; 
  24. }; 
  25. //export 
  26. window.Class = Class; 
  27. })(); 

示例:

 

 
  1. //基類對象或函數 
  2. var obj = { 
  3. name: 'BaseName'
  4. init: function(){ 
  5. //...  
  6. }, 
  7. //... 
  8. }; 
  9. var fun = function(){ 
  10. this.name = ''
  11. var init = function(){ 
  12. //.. . 
  13. }; 
  14. var getName = function(){ 
  15. return this.name; 
  16. }, 
  17. var setName = function(name){ 
  18. this.name = name; 
  19. return this;//鏈式操作支持 
  20. }, 
  21. //... 
  22. }; 
  23. //從Object繼承 
  24. var class_frome_obj = Class.create(obj,{ 
  25. initialize: function(){ 
  26. //構造函數 
  27. }, 
  28. getName: function(){ 
  29. return this.name; 
  30. }, 
  31. setName: function(name){ 
  32. this.name = name; 
  33. return this;//鏈式操作支持 
  34. }, 
  35. //... 
  36. }); 
  37. //從Function繼承 
  38. var class_frome_fun = Class.create(fun,{ 
  39. initialize: function(){ 
  40. //構造函數 
  41. }, 
  42. //... 
  43. }); 
  44. //從空對生成基類 
  45. var class_frome_base = Class.create({},{ 
  46. initialize: function(){ 
  47. //構造函數 
  48. }, 
  49. //... 
  50. }); 
  51. //實例化 
  52. var get_class_frome_obj = Class.new(class_frome_obj,[arg1,arg2,...]); 
  53. var get_class_frome_fun = Class.new(class_frome_fun,[arg1,arg2,...]); 
  54. var name1 = get_class_frome_obj.getName(); 
  55. //console.log(name1);//BaseName 
  56. var name2 = get_class_frome_obj.setName('NewName').getName(); 
  57. //console.log(name2);//NewName 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 普安县| 定陶县| 当雄县| 鄱阳县| 启东市| 松江区| 阳城县| 平潭县| 岳阳县| 建始县| 颍上县| 永和县| 隆昌县| 宜章县| 拜城县| 林周县| 兴仁县| 丰顺县| 招远市| 晋宁县| 桃源县| 安康市| 波密县| 乌拉特后旗| 醴陵市| 禹州市| 独山县| 沅江市| 迁西县| 云梦县| 鹰潭市| 乌兰县| 抚松县| 浏阳市| 竹溪县| 新丰县| 收藏| 潞西市| 德庆县| 开鲁县| 沙坪坝区|