• 高阶函数之函数柯里化function currying


    var cost = (function(){
        var args = [];
        return function(){
            if(arguments.length === 0){
            var money = 0;
            for(var i=0,l=args.length; i<l; i++){
                money += args[i];
            }
            return money;
            }else{
                [].push.apply(args,arguments);
            }
        }
    })();
    cost(100);
    cost(200);
    cost(300);
    console.log(cost());

    /*函数节流*/

    var throttle = function(fn,interval){
        var _self = fn,
            timer,
            firsttime = true;
        return function(){
            var args = arguments,
                _me = this;
            if(firsttime){
                _self.apply(_me,args);
                return  firsttime = false;
            }
            if(timer){return false;}
            timer = setTimeout(function(){
                clearTimeout(timer);
                timer = null;
                _self.apply(_me,args);
            },interval || 500);
        }
    }

    window.onresize = throttle(function(){
        console.log(1);
    },5000);

  • 相关阅读:
    委托
    apply()和call()
    Sql小技巧
    plsql中文乱码
    Windows8中使用IE8等低版本浏览器
    React Native
    谷歌浏览器添加flash白名单
    jsonp原理详解
    垂直居中
    window.moveTo(),window.moveBy()不生效
  • 原文地址:https://www.cnblogs.com/junwu/p/4776103.html
Copyright © 2020-2023  润新知