码迷,mamicode.com
首页 > 其他好文 > 详细

once方法实现(函数只执行一次)

时间:2017-12-31 10:57:06      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:argument   apply   http   style   prototype   app   nbsp   函数   实现   

var once = (function(){
    var memo = {},i = 0;
    return function(fn){
        for(var k in memo){
            if(memo[k].func == fn || memo[k].func.toString() == fn.toString()){
                return memo[k].result;
            }
        }
        var result = fn.apply(this,Array.prototype.slice.apply(arguments,1));
        memo[i++] = {func:fn,result:result};
        return result;
    }
})();

 

 

参考:https://segmentfault.com/q/1010000000520596

once方法实现(函数只执行一次)

标签:argument   apply   http   style   prototype   app   nbsp   函数   实现   

原文地址:https://www.cnblogs.com/mengff/p/8152040.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!