首页 > 代码库 > 函数只执行一次,若再执行,直接返回上次的结果

函数只执行一次,若再执行,直接返回上次的结果

var once  = (function(){    var res = {}, i = 0 ;    return function(func){        if(typeof(func) != ‘function‘){            alert(‘参数类型不正确‘);            return false;        }        for(var j in res){           if( res[j].fn === func ){             console.dir(‘read from cache...‘);             return res[j].ret;       }        }                return res[i++] = {ret:func(),fn:func};   }})();var a1 = function(){ return 1;}var a2 = function(){ return 2;}once(function(){ return 1; });

 

函数只执行一次,若再执行,直接返回上次的结果