日期:2014-05-16  浏览次数:20454 次

js中setTimeout和setInterval工作原理有什么区别吗?
请问:
function f1(){
console.log("nihao");
setTimeout("f1()",20);
}
f1();

function f1(){
console.log("nihao");
}
setInterval("f1()",20);
执行上有什么区别吗?从工作原理上分析哈。
js 定时器 setTimeout setInterval

------解决方案--------------------
setTimeout,一次,
setInterval,多次。

function f1(){
console.log("nihao");
setTimeout("f1()",20);//应当不写这一句,就只执行一次。
//加了这一句,则每次执行完又生成一个新的定时器。
}

------解决方案--------------------
setTimeout是指多少毫秒后执行某个函数,只执行一次,除非是他自己调用自己 类似递归
setInterval是指每隔几毫秒就执行某个函数
------解决方案--------------------
setTimeout执行一次,setInterval执行N次,直到你clearInterval前。