简单的JS多重继承示例

 更新时间:2008年03月13日 22:16:25   作者:  
JS多重继承实例,js新手学习资料
复制代码 代码如下:

$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); 

相关文章

  • JavaScript变量提升和严格模式实例分析

    JavaScript变量提升和严格模式实例分析

    这篇文章主要介绍了JavaScript变量提升和严格模式,结合实例形式分析了javascript变量提升和严格模式的原理及相关操作注意事项,需要的朋友可以参考下
    2019-01-01
  • 动态创建样式表在各浏览器中的差异测试代码

    动态创建样式表在各浏览器中的差异测试代码

    对于标准浏览器,直接使用css.innerHTML也可以修改HTMLStyleElement的css规则
    2011-09-09
  • 微信小程序实现横屏和竖屏签名功能

    微信小程序实现横屏和竖屏签名功能

    这篇文章主要为大家详细介绍了微信小程序实现横屏和竖屏签名功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • three.js实现3d全景看房示例

    three.js实现3d全景看房示例

    这篇文章主要为大家介绍了three.js实现3d全景看房示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • setTimeout时间设置为0详细解析

    setTimeout时间设置为0详细解析

    setTimeout( ) 是属于 window 的 method, 但我们都是略去 window 这顶层容器名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method,下面这篇文章主要给大家介绍了关于setTimeout时间设置为0的相关资料,需要的朋友可以参考下。
    2018-03-03
  • JS倒计时代码汇总

    JS倒计时代码汇总

    这篇文章主要介绍了JS倒计时代码,实例汇总了几种常见的倒计时代码,适用于不同的应用场合,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • js this函数调用无需再次抓获id,name或标签名

    js this函数调用无需再次抓获id,name或标签名

    this就是你当前要执行的js所抓获的节点,这样在js里就可以不用document.getElement之类的写法来抓获id,name或标签名,具体示例如下
    2014-03-03
  • JavaScript实现自动弹出窗口并自动关闭窗口的方法

    JavaScript实现自动弹出窗口并自动关闭窗口的方法

    这篇文章主要介绍了JavaScript实现自动弹出窗口并自动关闭窗口的方法,可实现从页面左侧弹出窗口5秒后窗口向右移动并消失的效果,涉及javascript针对页面窗口及样式的定义操作技巧,需要的朋友可以参考下
    2015-08-08
  • JS运动特效之任意值添加运动的方法分析

    JS运动特效之任意值添加运动的方法分析

    这篇文章主要介绍了JS运动特效之任意值添加运动的方法,结合实例形式分析了javascript针对多物体运动通过参数控制不同运动效果的实现方法,需要的朋友可以参考下
    2018-01-01
  • 用javascript做拖动布局的思路

    用javascript做拖动布局的思路

    这几天不是很忙,就找了些拖动布局方面的资料看看,也学着写了个拖动布局的效果,没想到花了好多时间,七拼八凑,总算是把这个效果写出来了。
    2010-10-10

最新评论