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实现随机返回数组的一个元素
Aug 13 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
Feb 07 Javascript
js绑定事件this指向发生改变的问题解决方法
Apr 23 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
Aug 07 Javascript
jQuery实现三级菜单的代码
May 09 Javascript
总结jQuery插件开发中的一些要点
May 16 Javascript
功能强大的Bootstrap效果展示(二)
Aug 03 Javascript
基于javascript实现按圆形排列DIV元素(三)
Dec 02 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
Jan 26 Javascript
详解Javascript获取缓存和清除缓存API
May 25 Javascript
angular学习之从零搭建一个angular4.0项目
Jul 10 Javascript
JS中FormData类实现文件上传
Mar 27 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
一个PHP并发访问实例代码
2012/09/06 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
Python入门篇之条件、循环
2014/10/17 Python
python使用分治法实现求解最大值的方法
2015/05/12 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
美国紧身牛仔裤品牌:NYDJ
2017/05/24 全球购物
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
酒店实习个人鉴定
2013/12/07 职场文书
大学生自我鉴定范文
2013/12/28 职场文书
八年级数学教学反思
2014/01/31 职场文书
最美乡村教师观后感
2015/06/11 职场文书
小学生教师节广播稿
2015/08/19 职场文书
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
virtualenv隔离Python环境的问题解析
2022/06/21 Python