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 相关文章推荐
jscript之List Excel Color Values
Jun 13 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
javascript中createElement的两种创建方式
May 14 Javascript
javascript html5移动端轻松实现文件上传
Mar 27 Javascript
JavaScript中Number对象的toFixed() 方法详解
Sep 02 Javascript
D3.js实现雷达图的方法详解
Sep 22 Javascript
Extjs让combobox写起来简洁又漂亮
Jan 05 Javascript
webpack实现热加载自动刷新的方法
Jul 30 Javascript
AngularJS中controller控制器继承的使用方法
Nov 03 Javascript
微信小程序自定义头部导航栏(组件化)
Nov 15 Javascript
微信小程序使用 vant Dialog组件的正确方式
Feb 21 Javascript
vue+element-ui表格封装tag标签使用插槽
Jun 18 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
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
6种php上传图片重命名的方法实例
2013/11/04 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
基于Jquery制作的幻灯片图集效果打包下载
2011/02/12 Javascript
json数据的列循环示例
2013/09/06 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
微信小程序 rich-text的使用方法
2017/08/04 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
Django REST 异常处理详解
2020/07/15 Python
python中round函数保留两位小数的方法
2020/12/04 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
技术人员面试提纲
2013/11/28 职场文书
家长给孩子的评语
2014/01/30 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
党员批评与自我批评
2014/10/15 职场文书
项目建议书
2015/02/04 职场文书
求职简历自我评价范文
2015/03/10 职场文书
千与千寻观后感
2015/06/04 职场文书
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记