15.第三篇:享元模式

本文摘自 《JavaScript 设计模式》张容铭 著 版权归原作者所有

  • 实现类似分页的效果
var FlyWeight = function() {
  // 已创建的元素
  var created = []
  // 创建一个新闻包装容器
  function create() {
    var dom = document.createElement('div');
    // 将容器插入新闻列表容器中
    document.getElmentById('container').appendChild(dom);
    // 缓存新创建的元素
    created.push(dom);
    // 返回创建的新元素
    return dom;
  }
  return {
    // 获取创建新闻元素方法
    getDiv : function(){
      // 如果已创建的元素小于当前页元素总个数,则创建
      if(created.length<5)  {
        return create();
      }else{
        // 获取第一个元素,并插入最后面
        var div = created.shift();
        created.push(div);
        return div
      }
    }
  }
}

你可能感兴趣的:(15.第三篇:享元模式)