我知道setTimeout
和setInterval
之间有区别,但请看这两个代码示例:
function myFunction(){
setTimeout('myFunction();', 100);
doSomething();
}
setTimeout('myFunction();', 100);
并且
function myFunction(){
doSomething();
}
setInterval('myFunction();', 100);
请注意,在第一个示例中,我在函数开头调用
setTimeout
,然后调用doSomething
。因此,从doSomething()
没有额外的延迟。这是否意味着这两个示例完全相同?或者还有更微妙的区别吗?
setTimeout
,那么就可以将变量传递给函数,例如setTimeout('myFunction('+i+');', 100);
。每次调用myFunction
时都可以评估这个变量(本地)。我没有看到使用setInterval
做同样的事情的方法,除了全局变量(不传递给myFunction
)。所以这里还有另一个区别。 - freakish