JavaScript与OOP.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JavaScript与OOP 李赞红 欢迎交流:lifenote@21 目标 Function对象的apply方法 自定义对象 封装 继承 多态 apply() Javascript的每个Function对象中有一个apply方法 语法:function.apply([thisObj[,argArray]]) 功能: 可以用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 用来模拟多态 另外一个相似的方法 function.call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 示例 function Object1(name){ = name; this.fun1 = function(){alert(这是第一个方法。);}; this.fun2 = function(){alert(这是第二个方法。);}; } function Object2(name){ Object1.apply(this, [name]); } var o2 = new Object2(中华人民共和国); o2.fun1(); o2.fun2(); alert(); 基本概念 自定义对象 根据JS的对象扩展机制,用户可以自定义JS对象,这与Java语言有类似的地方。 如:Math、Date、String等 原型(prototype) 通过prototype可以为对象在运行期间添加新的属性和方法。 创建对象(1) 对象初始化器方式 语法 objectName = {property1:value1, property2:value2,…, propertyN:valueN,method1:function(arguments){…},…} 其中:property是对象的属性,value则是对象的值,值可以是字符串、数字或对象三者之一 。 示例 var Users = { name:中国, register:function(i){ alert(注册了 + i + 次); } }; Users.register(3); alert(U); 创建对象(2) 构造函数方式 编写一个构造函数,并通过new方式来创建对象,构造函数本可以带有构造参数。 可以在对象中定义私有成员、实例成员和类成员 示例 //订单构造函数 function Order(date, total){ this.date = date; this.total = total; this.calc = function(name){ alert(name + 正在统计 + this.date + 下的订单,总数为 + this.total); } } var o = new Order(new Date(), 10); o.calc(李赞红); 对象属性的定义 私有属性 私有属性只能在构造函数内部定义与使用。 实例属性 必须在对象实例化后才能使用 prototype方式,语法格式:functionNpertyName=value this方式,语法格式:pertyName=value 类属性 直接通过类名去使用 语法格式:functionNpertyName=value 示例 function Customer(){ = 北大青鸟; //对象属性 var browser = (document.all ? IE : FireFox); //私有属性 Ctotype.theBrowser = browser; //对象属性 } Cpany = 北大青鸟教育集团; //类属性 //Test alert(Cpany); var c = new Customer(); alert( + \r\n + c.theBrowser); 对象方法的定义 私有方法 私有方法只能在对象内部使用 实例方法 实例方法必须在对象实例化后才能使用 语法与对象属性相同 类方法 类方法可以直接通过类名去使用 示例 function Miss(){ var you = function(){alert(“Miss you”);}//私有方法 this.me = function(){alert(“miss me”);}//对象方法 //对象方法 Mtotype.he = function(){alert(miss him);} } //类方法 Miss.

文档评论(0)

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

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

1亿VIP精品文档

相关文档