當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS单例设计模式
? ?單例,指的是只有一個實例的對象。
? ?在應用單例模式時,生成單例的類必須保證只有一個實例的存在,很多時候整個系統只需要擁有一個全局對象,才有利于協調系統整體的行為。比如在整個系統的配置文件中,配置數據有一個單例對象進行統一讀取和修改,其他對象需要配置數據的時候也統一通過該單例對象來獲取配置數據,這樣就可以簡化復雜環境下的配置管理。
? ?實現一:對象字面量
1 var singleton = { 2 name : value, 3 method : function(){ 4 //這里是方法內容 5 } 6 };?
? ?實現二:構造函數內部判斷
1 function Construct(){ 2 // 確保只有單例 3 if( Construct.unique !== undefined ){ 4 return Construct.unique; 5 } 6 // 其他代碼 7 this.name = "NYF"; 8 this.age="24"; 9 Construct.unique = this; 10 }? 實現三:模塊模式
1 var singleton = function(){ 2 //私有變量與私有函數 3 var privateVariable = 10; 4 5 function privateFunction(){ 6 //....... 7 } 8 9 return{ 10 publicProperty : true, 11 12 publicMethod : function(){ 13 privateVariable++; 14 return privateFunction(); 15 } 16 }; 17 }();? ?實現四:增強的模塊模式(單例必須是某種類型)
1 var singleton = function(){ 2 var privateVariable = 10; 3 4 function privateFunction(){ 5 return false; 6 } 7 8 var object = new SomeType(); 9 10 object.publicProperty = true; 11 12 object.publicMethod = function(){ 13 privateVariable++; 14 return privateFunction(); 15 }; 16 17 return object; 18 }();?
轉載于:https://www.cnblogs.com/missuu/p/3765368.html
總結
- 上一篇: 第三章、Data语意学
- 下一篇: STL,ATL,WTL之间的联系和区别