惰性函数它比较懒,不会立即执行。只有需要的时候才去执行创建或加载一些资源对象。
举个简单的例子。最近登录流行微信登录。鼠标滑过登录按钮,出现微信登录的二维码,供访客用手机扫描。
var getWXQrCode=(function( callbackFn ){
var obj;
return function(){
if(!obj){
loadScript('http://www.qq.com/xx.js',function(){
obj= WxLogin;
callbackFn( obj)
}else{
callbackFn( obj)
}
}
})();
然后在mouseover过登录按钮的时候调用
getWXQrCode( callback )
即可实现js只在需要的时候加载一次。再次调用只返回闭包中储存的WxLogin对象。