1. 程式人生 > >設計模式-單例模式

設計模式-單例模式

java return 全局對象 實例化 urn ole col scrip 獨立

  單例,即一個對象只有一個實例,即使實例化多次,拿到的也是同一個實例。

  JavaScript中,全局對象就是單例,如:window、document;獲取的DOM也是單例的。

  單例一個最大的好處就是節省空間,或者說節省資源。

  這裏有個簡單單例實現:

var Singleton = (function() {
    var instance;
    return function(name) {
        if(instance) {
            return instance;
        }else {
            this.name = name; 
            
return instance = this; } } })() console.log(new Singleton(‘a‘).name);//a console.log(new Singleton(‘b‘).name);//a

  利用閉包保存獨立作用域的特性,在閉包裏保存第一次創建的實例,今後每次創建都只返回該實例而不再創建。

  當然單例還有很多種實現方式,後面單獨補充。

設計模式-單例模式