自定义对象与扩展

自定义对象与扩展

ID:38367781

大小:330.81 KB

页数:33页

时间:2019-06-11

自定义对象与扩展_第1页
自定义对象与扩展_第2页
自定义对象与扩展_第3页
自定义对象与扩展_第4页
自定义对象与扩展_第5页
资源描述:

《自定义对象与扩展》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、自定义对象与扩展传统的函数其实是作为window对象的一个方法使用,比如:functionadd(a,b){returna+b;}alert(window.add(1,1));一、传统的函数JavaScript函数的一个特点是函数可以嵌套。这说明,可以在一个函数中声明另一个函数。比如:functonparent(arg){vartestVariable="Iamatestvariable.";functionchild(){alert(arg+testVariable);}child();}调用parent(“yes,”),产生”y

2、es,Iamatestvaribale.”的对话框。闭包就是将child();修改为returnchild;返回函数。使用闭包:varchild=parent(“yes”);child();1.1、闭包刚刚的例子中子函数使用其父函数作用域中定义的两个参数(arg和testVariable)在屏幕上显示了一个消息。不过,调用子函数时可以不带任何参数:这样就把一个需要多个参数的函数转换为一个需要较少参数的函数(在这里就是一个无参数的函数)。这种技术称为修整(currying)。返回一个函数,这是c#语言不支持的。闭包的这个特殊的功能可以

3、带来一些有意思的应用。比如:asp.netajax2.0类库中的代理,就是通过Function的这种扩展功能实现的,如:Function.createDelegate=function(a,b){returnfunction(){returnb.apply(a,arguments)}};在C#中的匿名方法(anonymousmethods)与这个功能有点类似,但是不能称为闭包,不过匿名方法实现了一种与闭包类似的技术。1.2、修整可以采用构造函数用于定义一个对象,比如:functionperson(name){this.name=na

4、me;}newperson=newperson('张三');alert(newperson.name);我们通过typeof方法获得构造函数对应的数据类型是function,如:alert(typeof(person));二、构造函数构造函数是一个函数,能够定义对象的属性和方法,每个内置对象都有自己的构造函数,例如String对象的是String(),Array对象的是Array()使用构造函数的语法如下:functionobj(property1,property2…){this.property1=property1;this.

5、property2=property2;…}实例化这个对象:newobj=newobj(“value1”,”value2”);如果实例化没有传入属性值,也可以实例化之后再赋值,如:newobj=newobj();newobj.property1=“value1”;newobj.property2=“value2”;构造函数的例子传统的面向对象开发分为两个步骤:(1)定义一个class(2)实例化这个class到object,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。