js 之 單例模式

單例模式的定義是:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點javascript

時刻記住單一職責原則 , 把建立對象和管理單例分離。java

//管理單例 
    var getSingle = function(fn){
        var result;
        return function(){
            return result || (result = fn.apply(this,arguments));
        }
    }
    //建立對象
    var createLoginLayer = function(){
        var div = document.createElement('div');
        div.id='loginLayer';
        div.innerHTML = '我是登陸窗口<a id="close" href="#">x</a>';
        div.style.display = 'none';
        document.body.appendChild(div);
        return div;
    };

    var createSingleLoginLayer = getSingle(createLoginLayer);
    document.getElementById('loginBtn').onclick = function(){
        var loginLayer = createSingleLoginLayer();
        loginLayer.style.display = 'block';

        document.getElementById('close').onclick=function(){
            var loginLayer = createSingleLoginLayer();
            loginLayer.style.display = 'none';
        }
    };
相關文章
相關標籤/搜索