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 cookies实现简单统计访问次数
Nov 24 Javascript
jQuery实现类似滑动门切换效果的层切换
Sep 23 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
Feb 21 Javascript
jQuery子窗体取得父窗体元素的方法
May 11 Javascript
javascript html实现网页版日历代码
Mar 08 Javascript
JavaScript模仿Pinterest实现图片预加载功能
Oct 25 Javascript
jQuery动态生成Bootstrap表格
Nov 01 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
Dec 12 Javascript
javaScript动态添加Li元素的实例
Feb 24 Javascript
详解package.json版本号规则
Aug 01 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
Nov 23 Javascript
vue移动端写的拖拽功能示例代码
Sep 09 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
php中Smarty模板初体验
2011/08/08 PHP
php&mysql 日期操作小记
2012/02/27 PHP
php中引用符号(&)的使用详解
2013/11/13 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
javascript:void(0)使用探讨
2013/08/27 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
跟老齐学Python之Python安装
2014/09/12 Python
python获取标准北京时间的方法
2015/03/24 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
Django REST framework 视图和路由详解
2019/07/19 Python
使用pandas读取文件的实现
2019/07/31 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
什么是URL
2015/12/13 面试题
中专毕业自我鉴定
2013/10/16 职场文书
装配出错检讨书
2014/09/23 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
给上级领导的感谢信
2015/01/22 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
react 路由Link配置详解
2021/11/11 Javascript
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL