創(chuàng)建對象的模式多種多樣,但是各種模式又有怎樣的利弊呢?有沒有一種最為完美的模式呢?下面我將就以下幾個方面來分析創(chuàng)建對象的幾種模式:
- Object構(gòu)造函數(shù)和對象字面量方法
- 工廠模式
- 自定義構(gòu)造函數(shù)模式
- 原型模式
- 組合使用自定義構(gòu)造函數(shù)模式和原型模式
- 動態(tài)原型模式、寄生構(gòu)造函數(shù)模式、穩(wěn)妥構(gòu)造函數(shù)模式
第一部分:Object構(gòu)造函數(shù)和對象字面量方法
我之前在博文《javascript中對象字面量的理解》中講到過這兩種方法,如何大家不熟悉,可以點進去看一看回顧一下。它們的優(yōu)點是用來創(chuàng)建單個的對象非常方便。但是這種方法有一個明顯的缺點:利用同一接口創(chuàng)建很多對象是,會產(chǎn)生大量的重復代碼。這句話怎么理解呢?讓我們看一下下面的代碼: