设计模式--单例模式
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点 ,例如当页面中的元素只创建一次时,重复创建时还是使用之前创建的元素时
单例模式的核心函数,使用回调函数的形式,在函数内部调用要执行的函数,如果result存在就直接返回,如果不存在就执行创建result的回调函数
var getSingle = function( fn ){ var result; return function(){ return result || ( result = fn .apply(this, arguments ) ); } };
以上函数的使用方法
var createLoginLayer = function(){ var div = document.createElement( 'div' ); div.innerHTML = '我是登录浮窗'; 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'; };