国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盱眙县| 桦南县| 宣恩县| 五华县| 东丽区| 东安县| 大连市| 灵山县| 荣昌县| 卓资县| 龙门县| 遂溪县| 桂东县| 兴文县| 安乡县| 平和县| 临江市| 日土县| 邮箱| 巧家县| 揭东县| 凉山| 政和县| 从化市| 探索| 开原市| 饶河县| 泰来县| 海淀区| 怀来县| 专栏| 桂林市| 修武县| 油尖旺区| 蒙山县| 乌拉特后旗| 芮城县| 荔浦县| 岗巴县| 达州市| 盐边县|