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';
        }
    };
相关文章
相关标签/搜索