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

高阶节流:`闭包` + `return数据` + `传参`

时间:2021-06-10 18:43:06      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:false   app   arguments   rom   ons   from   als   log   pop   

<script>
  var resultValue = "1";
  function throttle(fn) {
    console.log(arguments);
    let params = Array.from(arguments);
    params.shift();
    let res = arguments[arguments.length - 1];
    params.pop();
    let canRun = true;
    return () => {
      if (!canRun) return;
      canRun = false;
      setTimeout(() => {
        canRun = true;
        window[res] = fn.apply(this, params);
        console.log(resultValue);
        return res;
      }, 2000);
    };
  }
  function sayHi(value1, value2) {
    console.log(value1, value2);
    return "result=======";
  }

  var x = throttle(sayHi, 1, 2, "resultValue");
  setInterval(() => {
    x();
  }, 500);
</script>

高阶节流:`闭包` + `return数据` + `传参`

标签:false   app   arguments   rom   ons   from   als   log   pop   

原文地址:https://www.cnblogs.com/firefly-pengdan/p/14871059.html

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