1 建構函式模式
var person = function(name)
};var person1= new person('xiaoming');
person1.getname();
var person2 = new person('xiaohua');
person2.getname();
使用建構函式模式可以實現重複建立多個相似物件,且可以實現自定義傳參,但缺點是每次例項化乙個物件時就相當於將該物件方法重新建立了一遍。
2 原型模式
var person = function();person.prototype.name = 'xiaoming';
person.prototype.getname = function
() ;
var person1 = new
person();
person1.getname();
var person2 = new
person();
person2.getname();
原型模式的優點在於,每次例項化乙個物件時,不需要重新建立該物件方法,而是通過指標引用原型鏈的方法,缺點是不能自定義傳參,所以就有了下面的建構函式和原型組合使用的模式
3 建構函式+原型模式
var person = function(name);
person.prototype.getname = function
() ;
var person1 = new person('xiaoming');
person1.getname();
var person2 = new person('xiaohua');
person2.getname();
綜合了建構函式和原型模式的雙方優點
4 工廠模式
functioncreateperson(name)
return
person;
}var person1= createperson('xiaoming');
person1.getname();
var person2= createperson('xiaohua');
person2.getname();
工廠模式也可以用於建立多個相似物件,與建構函式函式模式相似,主要區別是在內部通過new object()建立物件最後return 出來,但是存在無法判斷物件型別的問題
5 模組模式
var person = function(name)
return
}();
person.getname('xiaoming');
特別是在單頁應用中常用的模式,可以理解為引入了私有變數特權方法的單例。
js設計模式小結
1 建構函式模式 var person function name var person1 new person xiaoming person1.getname var person2 new person xiaohua person2.getname 使用建構函式模式可以實現重複建立多個相似物...
設計模式小結
1 建立性模式 建立物件 1 工廠方法模式 根據輸入的產品類別不同,工廠產生不同的產品。main函式基本不變,擴充套件不同的產品。2 建造者模式 相同的構建過程 director 不同的表示 builder 只需要擴充套件表示即可。例如汽車組裝過程一樣 director 但各個部件不一樣 build...
設計模式小結
q 一定要設計模式嗎?a 設計是為了封閉變化,若是個專案確定以後不需要擴充套件,那麼隨便怎麼幹都行。若不是這樣,至少保證當前專案中會擴充套件的地方進行設計 q 簡單的例子 a mvc是最簡單的例子。把它發揚光大就不錯了。通常的做法是一定要把v分開,mc視情況而定。比如今天我們使用gui作為渲染,下乙...