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

首頁 > 編程 > JavaScript > 正文

JS仿Base.js實現的繼承示例

2019-11-19 16:53:54
字體:
來源:轉載
供稿:網友

本文實例講述了JS仿Base.js實現的繼承。分享給大家供大家參考,具體如下:

var Klass = function() {};Klass.extendClass = (function() {  var F = function() {};  return function(C, P) {    F.prototype = P.prototype;    C.prototype = new F();    C.uper = P.prototype;    C.prototype.constructor = C;  };})();Klass.extend = function(props) {  var _slice = Array.prototype.slice;  var Glass = function() {    /*if (Glass.uper && Glass.uper.hasOwnProperty("init")) {      Glass.uper.init.apply(this, _slice.call(arguments))    }*/    if (Glass.prototype.hasOwnProperty("init")) {      Glass.prototype.init.apply(this, _slice.call(arguments));    }  };  Klass.extendClass(Glass, this);  Glass.extend = this.extend;  for (var key in props) {    if (props.hasOwnProperty(key)) {      Glass.prototype[key] = props[key];    }  }  return Glass;};

example:

var A = Klass.extend({    init: function(name) {      this.name = name;      console.log('A constructor is running!');    },    getName: function() {      return this.name;    }});var B = A.extend({    init: function(name) {      this.name = name;      console.log('B constructor is running!');    },    getName: function() {      return this.name;    },    a: 'b'});var C = B.extend({    init: function(name) {      console.log('C constructor is running!');    },    c: 'c',    getName: function() {      var name = C.uper.getName.call(this);      return 'Hi, I/'m' + this.name;    }});var c1 = new C('zlf');console.log(c1.getName());

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象山县| 尉犁县| 即墨市| 龙游县| 曲沃县| 微山县| 措勤县| 镇安县| 无锡市| 南岸区| 界首市| 沧源| 措勤县| 盐山县| 新蔡县| 新竹市| 夏津县| 石渠县| 麻阳| 克山县| 庐江县| 健康| 普格县| 新绛县| 陇川县| 安徽省| 武山县| 乳源| 青神县| 庄河市| 资兴市| 手机| 蒲江县| 冷水江市| 浠水县| 灵山县| 商洛市| 贵港市| 灵石县| 瑞丽市| 水城县|