位置: 编程技术 - 正文
推荐整理分享浅谈JavaScript中setInterval和setTimeout的使用问题(javascriptz),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:javascriptjs,javascript的,js中serialize,细说javascript,javascriptz,javascriptz,javascript的,javascriptjs,内容如对您有帮助,希望把文章链接给更多的朋友!
说到setInterval,就不得不提到setTimeout,二者都是用于定时执行某函数,区别在于setTimeout 只执行一次,而setInterval可以一直连续不断执行下去,典型用法如下:
表面看上去,二者各有各的用途,没什么问题。但是如果setInterval所执行的函数是比较耗时的动作,setInterval仍然会按照原计划安排调用那个函数,而不考虑之前的任何阻塞,这样随着时间的推移,队列中等待执行的函数就会越来越多。而对于此问题解决方案仍然是采用递归调用setTimeout 的方法,如:
这种递归调用的方式,既可以达到循环执行某函数的目的,有可以防止后续任务不断堆积。
如果你觉得这种方式有点罗嗦,还可以再写得精炼一些:
说是这么说,但是如果定时执行的任务开销很少,setInterval一般是没什么问题的,但是如果任务开销比较大,请务必使用setTimeout。
深入解读JavaScript中的Hoisting机制 hoisting机制javascript的变量声明具有hoisting机制,JavaScript引擎在执行的时候,会把所有变量的声明都提升到当前作用域的最前面。先看一段代码varv="hello";(
详细解读JavaScript的跨浏览器事件处理 一.关于获取事件对象FF有点倔强,只支持arguments[0],不支持window.event。这次真的不怪IE,虽然把event作为window的属性不合规范,但大家都已经默许这个小
JavaScript中的call方法和apply方法使用对比 方法定义call方法:语法:call([thisObj[,arg1[,arg2[,[,.argN]]]]])定义:调用一个对象的一个方法,以另一个对象替换当前对象。说明:call方法可以用来代替另一
标签: javascriptz
本文链接地址:https://www.jiuchutong.com/biancheng/377595.html 转载请保留说明!上一篇:常用的Javascript数据验证插件(常用的八种教学方法)
友情链接: 武汉网站建设