setTimeout或setInterval有什么区别|三体教程
文章目录

setTimeout或setInterval有什么区别?

今天看到有网友提问,问setTimeout或setInterval有什么区别?

因为据他所知,这两种方法都是达到同一种效果。

实例1:

function myTimeoutFunction()
{
    doStuff();
    setTimeout(myTimeoutFunction, 1000);
}
myTimeoutFunction();

实例2:

function myTimeoutFunction()
{
    doStuff();
}
myTimeoutFunction();
setInterval(myTimeoutFunction, 1000);

其实setTimeout或setInterval在本质上他们都是试图做相同的事情,只不过setInterval方法比setTimeout方法更为准确些。

因为setTimeout等1000ms运行函数,然后设置另一个超时。

所以等待时间实际上是1000ms以上。

不过也有人可能会觉得setInterval执行效果是一样的,其实这一点也很重要,setInterval的确也会推迟。

因为javascript并不是多线程语言,如果有脚本运行其他部份,那么期间也需要等待那个完成。

其实这样的延迟基本上是可以忽略不计的。

setTimeout不会重复,它允许在设定的时间后运行脚本,但只能运行一次。

而setInterval将会重复该脚本,直到它遇到clearTimeout时才停止。

本文网址:http://www.santii.com/article/190.html


数据更新时间:2018-06-25