资讯专栏INFORMATION COLUMN

什么是Javascript函数节流?

darkbug / 2747人阅读

摘要:网上搜了下高级程序设中有专门应对此问题的函数节流原理很简单,利用定时器,让函数执行延迟毫秒,在毫秒内如果有函数又被调用则删除上一次调用,这次调用毫秒后执行,如此往复这样就实现了想要的效果

现在javascript的用途 真的很广,感觉什么事都可以做,比如做视频监控,时刻看看你喜欢的人再做什么,哎呀妈呀,这可是犯法的,不行不行。

最近工作上遇到个需求,:一个原本是pc端框架配置的需求,现在领导突然急着要,让我从pc端兼容移动的大小,瞬间脑壳疼,由于用的都是px单位,不好真疼,然后就想到根据浏览器窗口改变的时候需要改一些页面元素大小
原大小

配置成移动的的时候

function resizehandler(){

console.log(new Date().getTime());
console.log(++n);

}
然后我试着拖拽窗口,看了下控制台居然打印了50几次,这并不是我想要的,作为一个合理的代码,是只需要执行一次的,可能函数里面的代码很复杂,但却是我想要的。
网上搜了下JavaScript高级程序设 中有专门应对此问题的函数节流

原理很简单,利用定时器,让函数执行延迟500毫秒,在500毫秒内如果有函数又被调用则删除上一次调用,这次调用500毫秒后执行,如此往复
let n=0;
function resizehandler(){

console.log(new Date().getTime());
console.log(++n);

}

function fn(cb,context){

clearTimeout(cb.Tid);
cb.Tid=setTimeout(function(){
    cb.call(context);
},500);

}

window.onresize=function(){

fn(resizehandler,window);

};

这样就实现了想要的效果

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/117380.html

相关文章

  • JavaScript 函数节流函数去抖应用场景辨析

    摘要:函数节流和去抖的出现场景,一般都伴随着客户端的事件监听。函数节流的核心是,让一个函数不要执行得太频繁,减少一些过快的调用来节流。 概述 也是好久没更新 源码解读,看着房价蹭蹭暴涨,心里也是五味杂陈,对未来充满恐惧和迷茫 ...(敢问一句你们上岸了吗) 言归正传,今天要介绍的是 underscore 中两个重要的方法,函数节流和函数去抖。这篇文章不会涉及具体的代码实现(关于代码实现请期...

    ZHAO_ 评论0 收藏0
  • JavaScript 函数节流 throttle 和防抖 debounce

    摘要:今天和别人聊到函数的节流和防抖,发现自己对这两个的区别很是模糊,遂小小实践一下,在此记录,希望对需要的人有所帮助。防抖实现顺利,但是两个节流方法的执行结果存在差异。 今天和别人聊到JavaScript函数的节流和防抖,发现自己对这两个的区别很是模糊,遂小小实践一下,在此记录,希望对需要的人有所帮助。 节流 - 频繁操作,间隔一定时间去做一件事 举例说明:假定时间间隔为 500ms,频繁...

    mmy123456 评论0 收藏0
  • JavaScript函数节流的理解

    摘要:每次鼠标移动都是这样的处理过程,直到鼠标不再移动一秒钟后,定时器中的函数才被使用。 函数节流的原理 函数节流,就是对会频繁触发的函数事件做一些限制,让这些函数可以在每隔一定的时间或者每次满足一定的条件下再触发。一般我们会给他起一个名字throttle。也就是节流的意思。一般这样的函数有 resize事件、ontouchmove事件等。 举个简单的例子 测试函数节...

    taohonghui 评论0 收藏0
  • JavaScript函数节流的理解

    摘要:每次鼠标移动都是这样的处理过程,直到鼠标不再移动一秒钟后,定时器中的函数才被使用。 函数节流的原理 函数节流,就是对会频繁触发的函数事件做一些限制,让这些函数可以在每隔一定的时间或者每次满足一定的条件下再触发。一般我们会给他起一个名字throttle。也就是节流的意思。一般这样的函数有 resize事件、ontouchmove事件等。 举个简单的例子 测试函数节...

    Lorry_Lu 评论0 收藏0
  • 什么Javascript函数节流

    摘要:网上搜了下高级程序设中有专门应对此问题的函数节流原理很简单,利用定时器,让函数执行延迟毫秒,在毫秒内如果有函数又被调用则删除上一次调用,这次调用毫秒后执行,如此往复这样就实现了想要的效果 现在javascript的用途 真的很广,感觉什么事都可以做,比如做视频监控,时刻看看你喜欢的人再做什么,哎呀妈呀,这可是犯法的,不行不行。 最近工作上遇到个需求,:一个原本是pc端框架配置的需求,现...

    quietin 评论0 收藏0

发表评论

0条评论

darkbug

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<