简单的JS多重继承示例


Posted in Javascript onMarch 13, 2008
$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 相关文章推荐
jquery利用event.which方法获取键盘输入值的代码
Oct 09 Javascript
jQuery load方法用法集锦
Dec 06 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
Jan 13 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
window.onload绑定多个事件的两种解决方案
May 15 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
Bootstrap 附加导航(Affix)插件实例详解
Jun 01 Javascript
基于JavaScript实现Tab选项卡切换效果
Nov 24 Javascript
微信小程序 新建登录页并实现tabBar隐藏
Jun 13 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
js实现跳一跳小游戏
Jul 31 Javascript
JavaScript实现多层颜色选项卡嵌套
Sep 21 Javascript
JMenuTab简单使用说明
Mar 13 #Javascript
JObj预览一个JS的框架
Mar 13 #Javascript
DHTML Slide Show script图片轮换
Mar 03 #Javascript
JavaScript面向对象编程
Mar 02 #Javascript
一个javascript参数的小问题
Mar 02 #Javascript
js加解密 脚本解密
Feb 22 #Javascript
JS应用之禁止抓屏、复制、打印
Feb 21 #Javascript
You might like
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
js Function类型
2011/12/04 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
js实现砖头在页面拖拉效果
2020/11/20 Javascript
javascript中apply/call和bind的使用
2017/02/15 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
Python实现pdf文档转txt的方法示例
2018/01/19 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
python GUI图形化编程wxpython的使用
2019/07/19 Python
python求质数列表的例子
2019/11/24 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
2015/05/29 面试题
机电工程专业应届生求职信
2013/10/03 职场文书
教师求职推荐信范文
2013/11/20 职场文书
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
超市重阳节活动方案
2014/02/10 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
街道务虚会发言材料
2014/10/20 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers