js基础之setTimeout与setInterval原理分析
原文中文,约4100字,阅读约需10分钟。发表于: 。由于JavaScript被设计为用在浏览器环境,而该环境下存在大量可能发生冲突的DOM操作,为了避免进行复杂的冲突处理(可能存在的冲突数量几乎不可预测),JavaScript的设计者舍弃了java的多线程模型(该模型下,执行引擎同时可以做几件事,但要进行线程同步),将其设计成了一门单线程语言(执行引擎在同一时间只做一件事)。setTimeout的运行机制相对简单,即在执行该语句时,设置一个定...
setTimeout和setInterval是JavaScript引擎提供的定时器方法,用于延时执行和循环调用函数。它们的执行方式稍微复杂,setTimeout在计时结束后将函数添加到任务队列,而setInterval每隔一定时间添加函数。两者都无法保证何时执行回调,但setTimeout只添加一次函数,而setInterval循环添加。开发者通常使用setTimeout模拟setInterval来避免连续执行函数的情况。