javascript基础教程之javascript 创建对象.docx
《javascript基础教程之javascript 创建对象.docx》由会员分享,可在线阅读,更多相关《javascript基础教程之javascript 创建对象.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、javascript基础教程之javascript 创建对象 今天小编给大家讲讲javascript基础教程中的javascript面向对象的技术,这一次我们深入的学习一下JavaScrip基于t面向对象之创建对象,关于面向对象的一些术语这里就不给大家介绍了,不了解的朋友可以自行去查看。使用预定义对象只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自己专用的对象。ECMAScript拥有很多创建对象的方法。一原始方式因为对象的属性可以在对象创建后动态定义,所有许多开发者都在JavaScript最初引入时编写类似下面的代码:javascript1.varCar=newObject();
2、2.Car.color=blue;3.Car.doors=4;4.Car.mpg=25;5.Car.showColor=function()6.returnthis.color;7.;8.document.write(Car.showColor();/输出:blue在上面的代码中,创建对象Car。然后给它设置几个属性:它的颜色是蓝色,有四个门,每加仑油可以跑25英里。最后一个属性实际上是指向函数的指针,意味着该属性是个方法。执行这段代码后,就可以使用对象Car。不过这里有一个问题,就是可能需要创建多个Car的实例,这样就造成了我们会重复许多类似的代码,这样会很麻烦。二工厂方式要解上述的多个类似
3、对象声明的问题,开发者创造了能创建并返回特定类型的对象的工厂方式。这种方式就是为了解决实例化对象产生大量重复的问题。(1)无参数的工厂方式例如,函数createCar()可用于封装前面列出的创建Car对象的操作:javascript1.functioncreateCar()2.varTempCar=newObject();3.TempCar.color=blue;4.TempCar.doors=4;5.TempCar.mpg=25;6.TempCar.showColor=function()7.returnthis.color;8.;9.returnTempCar;10.;11.varCar1
4、=createCar();12.varCar2=createCar();13.document.write(Car1.showColor()+);/输出:blue14.document.write(Car2.showColor();/输出:blue在这里,第一个例子中的所有代码都包含在createCar()函数中。此外,还有一行额外的代码,返回TempCar对象作为函数值。调用此函数,将创建新对象,并赋予它所有必要的属性,复制出一个我们在前面说明过的Car对象。因此,通过这种方法,我们可以很容易地创建Car对象的两个版本(Car1和Car2),它们的属性完全一样。(2)有参数的工厂方式我们还可
5、以修改createCar()函数,给它传递各个属性的默认值,而不是简单地赋予属性默认值:javascript1.functioncreateCar(Color,Doors,Mpg)2.varTempCar=newObject();3.TempCar.color=Color;4.TempCar.doors=Doors;5.TempCar.mpg=Mpg;6.TempCar.showColor=function()7.returnthis.color;8.;9.returnTempCar;10.;11.varCar1=createCar(red,4,23);12.varCar2=createCar
6、(blue,3,25);13.document.write(Car1.showColor()+);/输出:red14.document.write(Car2.showColor();/输出:blue给createCar()函数加上参数,即可为要创建的Car对象的color、doors和mpg属性赋值。这使两个对象具有相同的属性,却有不同的属性值。工厂方式解决了重复实例化的问题,但是还是有一个问题,那就是前面的例子中,每次调用函数createCar(),都要创建新函数showColor(),意味着每个对象都有自己的showColor()版本。而事实上,每个对象都共享同一个函数。有些开发者在工厂函
7、数外定义对象的方法,然后通过属性指向该方法,从而避免这个问题:javascript1.functionshowColor()2.returnthis.color;3.;4.functioncreateCar(Color,Doors,Mpg)5.varTempCar=newObject();6.TempCar.color=Color;7.TempCar.doors=Doors;8.TempCar.mpg=Mpg;9.TempCar.showColor=showColor;10.returnTempCar;11.;12.varCar1=createCar(red,4,23);13.varCar2=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javascript基础教程之javascript 创建对象 javascript 基础教程 创建 对象
限制150内