- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象的JavaScript开发 oznyang@163.com 2009-7-15 JavaScript的特点 脚本语言 ECMAScript+Dom+Bom=JavaScript 运行于宿主环境 基于对象的(Object-Based),而不是面向对象的(object-oriented)。 JavaScript开发相关知识 Dom Css JavaScript-脚本语言-对象 数据 +代码 =程序 在脚本语言中,代码也是数据,所以存在更多的动态特性 面向对象的思想 把数据和代码结合成统一体,以一个简单的对象概念呈现给编程者 JavaScript的数据类型 简单数据 undefined, null, boolean, number , string 存放于栈(stack)中,占用空间固定 复杂数据 object 存放于堆(heap)中,变量只保存了指针(point) JavaScript的对象 把一些“名字-属性值”的组合放在一个单元里面,就组成了一个对象,“名字”只能是string类型 创建对象 jsonvar?speaker?=?{text:?Hello?World,?say:?function(){alert(this.text)}}; new操作符结合一个函数 function?MyFunc()?{};?????????//定义一个空函数 var?anObj?=?new?MyFunc();??//使用new操作符,借助MyFun函 数,就创建了一个对象 等同于 function?MyFunc(){};????var?anObj?=?{};?????//创建一个对象????MyFunc.call(anObj);?//将anObj对象作为this指针调用MyFunc函数 JavaScript中的函数 JavaScript中的代码只体现为一种形式,就是function 函数是javascript中的一种特殊形式的对象 ,称之为函数对象 函数的定义 最常用functionName([parameters]){functionBody}; 匿名函数 var add=function(a, b) {return a+b;}? new varName=new Function([param1Name, param2Name,...paramNName], functionBody); prototype 代表事物的初始形态,也含有模型和样板的意义 var Me=function(){=“ozn”}; Var Info=function(){}; Info. prototype={email:’dd’,msn:’eee’}; var info=new Info(); Mtotype=info; var me=new Me (); alert(me.msn);当在me中找不到msn这个属性时,按照上面的规则,就会去info这个对象中找,也就是试图找找“info. msn 。由于info本身也是一个对象,也会有一个构造器函数Info,因此当xxx.msn也找不到时,就会去Itotype里面去找……如此……如此深层次的挖掘,直到再也找不到……就返回undefined。所谓原型继承,只不过是一个简单的检索规则。 closures闭包 a(){? var i=0;? b(){? alert(++i);? }? return b;}var c = a();c(); 构造对象的过程 建立一个新对象 将该对象内置的原型对象设置为构造函数prototype引用的那个原型对象 将该对象作为this参数调用构造函数,完成成员设置等初始化工作 Ccs Js Utils的使用 ccs-base.js date.js DomHelper.js element.js format.js json.js template.js widget.js yui-bridge.js TrimPath 采用标准的JavaScript编写,支持跨浏览器 模板语法类似于:FreeMarker,Velocity,Smarty 采用简易的语言来描述大段的字串以及Dom/DHTML操作 可以很方便的解析XML文件格式的数据到指定模板。 * *
文档评论(0)