JavaScript中常見的設計模式(3)原型模式

原型模式

在上一章節中已經說過原型模式解決了構造模式和工廠模式的不足之處。

function Person(){}

Person.prototype.name ="yuan xing";

Person.prototype.age=23;

Person.prototype.job="Software engineer";

Person.prototype.displayInfo=function(){

alert(this.name+","+this.age+","+this.job+",");

}

var person=new Person()


從上述的栗子中可以看出,原型模式不會有構造函數定義多個全局函數的問題,也不會有工廠模式不能確定對象實例類型的問題。

但是從上述栗子中可以看出原型模式不能傳入參數這是原型模式

優點:語義上,看起來所有屬性都是同一個對象,解決了構造函數和工廠模式的問題;

缺點:不能通過給構造函數傳遞參數來初始化屬性的值,而且如果其中某個實例屬性重新賦值,會導致其他的實例同一屬性也會發生變化


發佈了36 篇原創文章 · 獲贊 10 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章