源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

简单的JS多重继承示例

  • 时间:2022-08-30 14:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:简单的JS多重继承示例
[u]复制代码[/u] 代码如下:
$defined = function (v) {     return v != undefined; } Class = function () {     var base = {};     for (var k=0; k<arguments.length; k++) {     //{{new arguments[k]() with custom constructor field.         var o = arguments[k].prototype;         o.constructor = arguments[k];         arguments[k].call(o);     //}}         for (key in o) base[key] = o[key];     }     function Klass () {         // for every class one object cache.         var clso = null;         function klass() {             if (arguments.length<=0 && clso!=null) {                 // hit cache.                 return clso;             }             if ($defined(this.constructor.init)) {                 // use init() for class initialization.                 this.constructor.init.apply(this, arguments);             }             clso = this;         }         klass.prototype = base;         return klass;     }     return Klass(); } A = new Class(); A.init = function () {     this.x = 400;     this.y = 300; } B = new Class(A); B.init = function () {     this.y = 200;     this.z = 100; } C = new Class(B); C.init = function () {     this.z = 0; } c = new C(); alert(c.x); alert(c.y); alert(c.z); 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部