JavaScript面向对象编程


Posted in Javascript onMarch 02, 2008

//类的定义

    //方法一:类的一般定义方法
    function player1(_name)
    {
        this.name = _name;
        this.say = function() {alert(this.name);};
    }

    var p1 = new player1('llinzzi1');
    p1.say();

    
    //方法二:prototype定义方法
    var player2 = function() {}
    player2.prototype = {
        name:'',
        say:function(){
            alert(this.name);
        }
    }

    var p2 = new player2();
    p2.name = 'llinzzi2';
    p2.say();

    
    //方法三:上面的方法结构美观,便捷,但构建函数不能带参数,修改方法
    var player3 = function() {
        this.init.apply(this, arguments);
    }
    player3.prototype = {
        init:function(_name){
            this.name = _name;
        },
        say:function(){
            alert(this.name);
        }
    }

    var p3 = new player3('llinzzi3');
    p3.say();

    //类的继承

    //方法一
    var player4 = function(){
        this.init.apply(this, arguments);
    }
    player4.prototype = new player3;
    player4.prototype.shout = function(){
        alert(this.name.toUpperCase());
    }

    var p4 = new player4('llinzzi4');
    p4.shout();

    
    //方法二 上面的方法不能采用{}的方法,修改方法
    Object.extend = function(destination, source) {
      for (var property in source)
        destination[property] = source[property];
      return destination;
    };

    var player5 = function(){
        this.init.apply(this, arguments);
    }
    Object.extend(Object.extend(player5.prototype,player3.prototype),{
        shout:function(){
            alert(this.name.toUpperCase());
        }

    });

    var p5 = new player5('llinzzi5');
    p5.shout();

    

    
    //再从prototype.js抄一端浏览器判断代码

    Browser = {
        IE:     !!(window.attachEvent && !window.opera),
        Opera:  !!window.opera,
        WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
        Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
        MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
    }

    alert(Browser.MobileSafari);

Javascript 相关文章推荐
js触发asp.net的Button的Onclick事件应用
Feb 02 Javascript
用jQuery获取IE9下拉框默认值问题探讨
Jul 22 Javascript
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
javascript快速排序算法详解
Sep 17 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 Javascript
简单总结JavaScript中的String字符串类型
May 26 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
Aug 17 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
利用原生JS与jQuery实现数字线性变化的动画
Feb 24 Javascript
react高阶组件经典应用之权限控制详解
Sep 07 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
Sep 27 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
Sep 14 Javascript
一个javascript参数的小问题
Mar 02 #Javascript
js加解密 脚本解密
Feb 22 #Javascript
JS应用之禁止抓屏、复制、打印
Feb 21 #Javascript
js 调整select 位置的函数
Feb 21 #Javascript
js 替换
Feb 19 #Javascript
javascript replace方法与正则表达式
Feb 19 #Javascript
window.addeventjs事件驱动函数集合addEvent等
Feb 19 #Javascript
You might like
dedecms中常见问题修改方法总结
2007/03/21 PHP
php抓取页面与代码解析 推荐
2010/07/23 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
5款Javascript颜色选择器
2009/10/25 Javascript
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
2015/05/14 Javascript
javascript实现继承的简单实例
2015/07/26 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
2019/05/30 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
python模拟Django框架实例
2016/05/17 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
高中三年学习生活的自我评价
2013/10/10 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
商场主管竞聘书
2014/03/31 职场文书
捐助贫困学生倡议书
2014/05/16 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
党支部活动策划方案
2014/08/18 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
政府四风问题整改措施
2014/10/04 职场文书
环境建议书
2015/02/04 职场文书
世界地球日活动总结
2015/02/09 职场文书
总经理年会致辞
2015/07/29 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书