Javascrpt中定义类或对象(1)

1.工厂方式

 1<script language="javascript" type="text/javascript">
 2var car=new Object;
 3car.color="red";
 4car.doors=4;
 5car.mpg=23;
 6car.showcolor=function(){
 7  alert(this.color)
 8}
;
 9</script>
10

  执行了这行代码以后,就可以使用对象car,问题是可能需要创建多个car实例。要解决此问题,开发者创造了能创建并返回特定类型的对象的工厂函数(factory function

Code

 

使用该方法,可以容易的创建car对象的两个版本,它们的属性完全一样,可以修改createcar函数,给它传递各个属性的默认值,而不是赋予属性默认值

Code

 

每次调用函数createcar,都要创建函数showcolor,意味着每个函数都有自己的showcolor版本,事实上,每个对象都共享了同一个函数

于是在工厂函数外定义对象方法,然后通过属性指向该方法。

Code

从功能上讲,这样解决了重复创建函数对象的问题,但该函数看起来不像对象的方法

2.构造函数方式

Code

 

 

 

posted @ 2009-06-09 23:00  iwuyudong  阅读(295)  评论(0编辑  收藏  举报