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前。