现在javascript的使用范围真的很广,感觉什么都可以做,比如做视频监控,一直看自己喜欢的人在做什么,天啊,这是犯法的,不不不,不。最近在工作中遇到一个需求:一个本来是PC端框架配置的需求,现在领导急着让我在PC端做适配mobile尺寸,瞬间脑壳疼,因为所有的px单位都用了,不好很痛,然后想到当浏览器窗口变化的时候,我需要在原来的尺寸配置为movefunctionresizehandler(){console.log(newDate().getTime());console.log(++n);}然后我试着拖动窗口,看到控制台打印了50次,这不是我想要的。作为一个合理的代码,它只需要执行一次,也许在函数中代码很复杂,但它做到了我想要的。在网上搜索了一下,发现在JavaScript高级编程中有一个专门用来处理这个问题的函数。节流的原理很简单。使用计时器将函数的执行延迟500毫秒。如果在500毫秒内再次调用一个函数,最后一次调用将被删除。在第一次调用500毫秒后执行,如此往复letn=0;functionresizehandler(){console.log(newDate().getTime());console.log(++n);}functionfn(cb,context){clearTimeout(cb.Tid);cb.Tid=setTimeout(function(){cb.call(context);},500);}window.onresize=function(){fn(resizehandler,window);};达到了预期的效果
