- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JS面向对象课件
* 使用for .. in..可解决父类与子类代码一致的问题,但每次继承都需要编写for ..in语句。 示例中通过为Object对象定义一extend方法来简化JavaScript中继承操作,Object是JavaScript中的类 类的继承 Object.extend = function(destination, source){ for(prop in source){ destination[prop] = source[prop]; } return destination; } //使用TestB的extend方法继承Test function TestB(){} Object.extend(TestB.prototype, Test); Object.extend(TestB.prototype, { fa:function(){ alert(‘testb.fa’);}//重载Test的fa方法 } * 使用Object.extend方法也可以扩展javascript基本类型的功能,示例为String添加escape方法,将当前字符串转换成url编码 类的继承 Object.extend(String.prototype, { escape:function(){ return escape(this); } }); * JavaScript中实现多态的方式与继承类似,在父类里可以使用一个未定义的方法,该方法即是一个抽象方法,在子类中再具体实现。 类的多态 //父类方法 function Base(){} Base.prototype.initialize = function(){ this.init();//调用子类的方法 //父类初始化 } function TestB = {}; TestB.prototype = Object.extend({ init:function(){ alert(‘TestBinit’);} }, Base.prototype); var testa = new TestA(); var testb = new TestB(); //返回TestAinit alert(testa.initialize()); //返回TestBinit alert(testb.initialize()); function TestA = {}; TestA.prototype = Object.extend({ init:function(){ alert(‘TestAinit’);} }, Base.prototype); * JavaScript提供了new运算符用于构建类的实例。 JavaScript中支持JSON数据格式,JSON可用于定义JavaScript的匿名对象或数组。 JavaScript充许动态的添加对象的属性或方法。 类的实例 //定义JSON格式的匿名对象 var employee = { id:’001’, name:’jerry’ }; //定义JSON格式的数组对象 var employees = [ {id:’001’,name:’jerry’},{id:’002’,name:’tony’},employee ]; //动态添加employee的属性 employee.address = ‘xmbcit’; * 在基于AJAX的RIA(Rich Internet Application)的应用中,JavaScript的类非常多,除遵守面向对象的开发原则外,还需要有效的组织JavaScript类的存储。 JSVM提供了一种组织JavaScript的框架,采用动态加载JavaScript脚本的机制,以类似于Java的包,类的组织方式来组织JavaScript的类。 JSVM中每个公开的类对应一个js文件,文件名与类名一致。 包是一种特殊的对象,可以包含类,顶层的包是Window的对象 JSVM简介 * 在项目中添加JSVM,只需要将JSVM的根目录拷贝至项目中。 JSVM中所有的类都存放在classes目录中,在页面上只需要引入jsre.js即可。 加入JSVM的页面可在JavaScript脚本中使用$import(“包名.类名”)方式引用依赖的JavaScript类。 组织JSVM的环境 script type=text/javascript src=jsvm2/jsre.js debug=true/script script type=text/javascript $import(“foo.bar.SayHello”);
您可能关注的文档
- c语言_while循环课件.ppt
- Diameter协议结构原理课件.ppt
- duilian课件.ppt
- EMF基本常识课件.ppt
- EzraPound课件.ppt
- Excel财务与会计应用精粹课件.ppt
- G652、G657光纤介绍课件.ppt
- Google学术搜索及其检索技巧课件.ppt
- graduation课件.ppt
- GuHongMing课件.ppt
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)