网站大量收购闲置独家精品文档,联系QQ:2885784924

JS面向对象经典案例.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JS面向对象经典案例 //一、通用创建函数 function New(aClass,aParams){ //定义临时的中转函数壳 function new_() { // 调用原型中定义的构造函数,中转构造逻辑及构造参数,用Create方法,来替代原有的构造函数 aClass.Create.apply(this,aParams); }; new_.prototype=aClass; return new new_(); }; // Person var Person = { // 模拟Object.create()方法,初始化 Create:function(name,age) { =name; this.age=age; return this; }, sayHello: function() { alert(my name is + + ,my age is + this.age); } } window.onload = function() { var obj = New(Person, [luolibing, 26]); obj.sayHello(); // IE9及以上 GOOGLE FIREFOX支持,IE8及IE8以下不支持,跟上面的方法类似 // getPrototypeOf获取Object的原型,IE版本要求高IE9以上 var o = Object.create(Person).Create(liuxiaoling, 27); o.sayHello(); } function person(name){ =name; }; // 二、原型链级,子类需要一个原型指向父类,传递起来比较麻烦 totype.sayHello=function(){ alert(Hello,Im +); }; // employee function employee(name,money){ person.call(name); this.money=money; }; // 子类原型指向父类Person totype=new person(); // 子类原型添加showMoney方法 totype.showMoney=function(){ alert(+this.money); }; var em=new employee(bob,11); em.showMoney(); em.sayHello(); var pp=new person(jack); pp.sayHello(); //alert(pp.sayHello==em.sayHello); Stotype.toString()=function(){ }; var aaa=bb; aaa.toString(); Stotype.isDate=function(){ var reg=/^[0-9]*$/;return reg.test(this); }; alert(11231.isDate()); alert(2005-11-11.isDate()); function Person(name){ ; }; Ppany=MS; //原型的方法 Ptotype.SayHello = function() { alert(Hello, Im + + of + pany); }; var BillGates = new Person(Bill Gates); BillGates.SayHello(); //由于继承了原型的东西,规规矩矩输出:Hello, Im Bill Gates var SteveJobs = new Person(Steve Jobs); SteveJpany = Apple; //设置自己的company属性,掩盖了原型的company属性 //实现了自己的SayHello方法,掩盖了原型的SayHello方法 SteveJobs.SayHello = function() { alert(Hi, + + like + pany + , ha ha ha ); }; SteveJobs.SayHello(); //都是自己覆盖的属性和方法,输出:Hi, Steve Jobs like Apple, ha ha ha BillG

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档