JS模式--通用对象池的实现
var objectPoolFactory = function (createObjFn) { var objectPool = []; return { create: function () { var obj = objectPool.length === 0 ? createObjFn.apply(this, arguments) : objectPool.shift(); return obj; }, recover: function (obj) { objectPool.push(obj); } }; }; var iframeFactory = objectPoolFactory(function () { var iframe = document.createElement('iframe'); document.body.appendChild(iframe); iframe.onload = function () { iframe.onload = null; iframeFactory.recover(iframe); }; return iframe; }); var iframe1 = iframeFactory.create(); iframe1.src = 'http://www.baidu.com'; var iframe2 = iframeFactory.create(); iframe2.src = 'http://www.sina.com'; setTimeout(function () { var iframe3 = iframeFactory.create(); iframe3.src = 'http://www.qq.com'; }, 10000);