最优化javascript自定义对象(转自:http://www.cnblogs.com/QiuYun/archive/2007/03/22/684523.html)

1.工厂方式


这种方式是先建一个对象,再给它加属性和方法。
缺点:每次 var oCar1 = create("red",4,23);的时候都要从新创建新的showColor 函数,这样就以为这每个对象都有自己的函数。
解决的方法:


ps:这样写看起来好丑,不象一个对象了。

2.构造函数方法


ps:默认是返回this,所以没必要写return this;
缺点:创建对象的时候也要不停的创建新的函数showColor

3.原型方式



缺点:构造函数没参数;当属心为对象时候,所有被实力化的Car的对象属性都一样!

4.混合的构造函数/原型方式
用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)


这样问题就都解决了,不过OOPer决定它不完美

5.动态原型方法


这样所有问题都解决并且向个正真的对象了

6。混合工厂方式


这种方式通常是在不能应用前一种方式时的变通方式。创建假构造函数,返回另一种对象的新实例。

总结:目前用的最多的是混合的构造函数/原型方式,此外动态原型也很流行,不咬单独使用经典的构造函数或原型方式,这样的代码会有问题。

你可能感兴趣的:(JavaScript)