工廠模式
使用工廠模式構造函數,系統會在函數內部自動幫你定義一個對象,如:
var obj = new Object();
- 1
函數構建完成后系統還會自動幫你返回一個對象,如:
return this;
- 1
工廠模式分為三個步驟構造函數:
1.原料:原料這個步驟其實就是上面所說的構造對象,系統會自動幫你解決這個問題;
2.加工:這個步驟需要自己動手完成!這個過程就是創建這個構造函數中的方法:
obj.showQQ=function (){ alert('我的QQ號:'+this.qq); };
- 1
- 2
- 3
3.出廠:這個步驟就是返回一個this(obj)對象,當然這個步驟也是系統完成的;
函數構造完成后在外部就可以直接定義一個變量,這個變量可以直接調用函數的中的方法。
混合模式
混合模式構造函數,就是將工廠方式細化,使用構造函數創建屬性,使用原型創建方法。
- 1
使用混合模式,對構造函數的命名有一定的要求,最好是函數名首字母大寫。
下面舉個例子說明混合模式的寫法:
// 構造函數加屬性 function Fn(id){ this.box = document.getElementById(id); this.init(); } // 原型創建方法 Fn.prototyopr.init = function(){ this.box.style.backgroundColor = 'green'; } // 通過調用init方法將div的背景色改成綠色 window.onload = function(){ var oDiv = new Fn('box'); oDiv.init(); }