解决方案 »

  1.   

    大概原因,setInterval("second()",1000)  相当于每1000ms执行一次second(),每次都会产生一个setInterval定时器,越往后定时器越多,最后成指数级增长...解决方法:var a = new Date().getSeconds();
    window.onload = function () {
        setInterval(second, 1000);
    }
    function second() {
        a = parseInt(a);
        div.innerHTML = a;
        a++;
    }或者:var a = new Date().getSeconds();
    window.onload = function () {
        second();
    }
    function second() {
        a = parseInt(a);
        div.innerHTML = a;
        a++;
        setTimeout(second, 1000);
    }
    建议:
    学习 setInterval 与 setTimeout 的区别
    学习 setInterval("second()", 1000) 与 setInterval(second, 1000) 的区别
      

  2.   

    可以这样理解:
    setInterval 是全局的,一旦启动就不会自己停止
    setTimeout 是局部的,每次都要启动
      

  3.   

    setInterval除了你使用clearInterval停止之外,是不会停止的而你这里,每执行一个second函数,就会添加一个setInterval,那么setInterval就会一直增加。
    而每个setInterval又是独立运行的。
      

  4.   

    应该使用setTimeout   这个函数!