JS设计模式——单例模式

单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点

主要结构:初始化和判断是否唯一

比如在页面中创建唯一个登录浮窗

var createLoginLayer = function(){
    var div = document.createElement('div');
    div.innerHTML = '我是登录浮窗';
    div.style.display = 'block';
    document.body.appendChild(div);
    return div;
}

var getSingle = function(fn){
    var result;
    return function(){
        return result || (result = fn.apply(this,arguments))
    }
}

var createSingleLoginLayer = getSingle(createLoginLayer)

document.getElementById('loginBBtn').onclick = function(){
    var loginLayer = createSingleLoginLayer();
    loginLayer.style.display = 'block';
}

将创建dom和管理是否唯一的逻辑在拆分成各自独立的函数处理

posted @ 2016-11-15 18:35  FEHammer  阅读(98)  评论(0)    收藏  举报