第一種模式:工廠方式
js 代碼:
- var lev=function(){
- return "啊打";
- };
- function Parent(){
- var Child = new Object();
- Child.name="李小龍";
- Child.age="30";
- Child.lev=lev;
- return Child;
- };
- var x = Parent();
- alert(x.name);
- alert(x.lev());
說明:
1.在函數中定義對象,並定義對象的各種屬性,,雖然屬性可以爲方法,但是建議將屬性爲方法的屬性定義到函數之外,這樣可以避免重複創建該方法
2.引用該對象的時候,這裏使用的是 var x = Parent()而不是 var x = new Parent();因爲後者會可能出現很多問題(前者也成爲工廠經典方式,後者稱之爲混合工廠方式),不推薦使用new的方式使用該對象
3.在函數的最後返回該對象
4.不推薦使用這種方式創建對象,但應該瞭解
第二種模式:構造函數方式
- var lev=function(){
- return "啊打";
- };
- function Parent(){
- this.name="李小龍";
- this.age="30";
- this.lev=lev;
- };
- var x =new Parent();
- alert(x.name);
- alert(x.lev());
說明:
1.與工廠方式相比,使用構造函數方式創建對象,無需再函數內部重建創建對象,而使用this指代,並而函數無需明確return
2.同工廠模式一樣,雖然屬性的值可以爲方法,扔建議將該方法定義在函數之外
3..同樣的,不推薦使用這種方式創建對象,但仍需要了解