请问:
function f1(){
console.log("nihao");
setTimeout("f1()",20);
}
f1();

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

解决方案 »

  1.   

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

  2.   

    setTimeout是指多少毫秒后执行某个函数,只执行一次,除非是他自己调用自己 类似递归
    setInterval是指每隔几毫秒就执行某个函数
      

  3.   

    setTimeout执行一次,setInterval执行N次,直到你clearInterval前。