2015-06-05 Lim Geng
小函数蕴含着大学问:函数节流之水龙头与弹簧、尾递归优化、展开参数函数、异步化函数等,整理了几个有趣的js函数,后续还会增加。 函数节流:水龙头与弹簧 什么是节流,请自行百谷 Throttle:这种方式是类似水龙头,当水滴足够大时水滴就会掉下来;类似的,当时间超过某个timeout的时候就执行函数 ```js var throttle = function(fn, timeout) { var last = new Date().getTimes(); return function() { var curr = new Date().getTimes(); if (curr - last >= 继续阅读 »
2017-01-18 W.Y.
防抖(Debounce)和节流(Throttle)都是用来控制某个函数在一定时间内执行多少次的技巧,两者即相似又不同。 我们无法直接控制 DOM 事件触发频率,但我们可以在事件绑定和函数执行之间加一个控制层,所以当我们绑定 DOM 事件的时候,加上防抖或节流的函数变得特别有用。 more 看下面滚动事件的例子: 当使用触控板,滚动滚轮,或者拖拽滚动条的时候,一秒就可以触发 30 次事件。经测试,在移动设备上轻轻滚动一下,一秒可以触发 100 次之多。这么高的执行频率是你期待的吗? 早在 2011 年,Twitter 就出现了一个问题:当向下滚动页面的时候,页面会变得很卡顿。John Resig 发表了一篇博客解释这个问题 继续阅读 »