setTimeout运行结束后就没了
setInterval的话需要考虑这个问题

解决方案 »

  1.   


    哥们,你看上面的代码,它在自己调用自己,所以运行一直是没有结束的。上个setTimeout没有结束就开始新的setTimeout了,不知道浏览器会不会自动注销上一个setTimeout啊????
      

  2.   


    哥们,你看上面的代码,它在自己调用自己,所以运行一直是没有结束的。上个setTimeout没有结束就开始新的setTimeout了,不知道浏览器会不会自动注销上一个setTimeout啊????
    你逻辑混乱啊。
    跟你讲一下运行流程:
    首先你调用一次count_sj(人为调用)。
    然后运行到代码第12行。设置一个定时器,让count_sj这个方法在1000毫秒之后被执行一次。
    过了1000毫秒,count_sj这个方法被调用了,然后又运行到第12行,再设置一个定时器,过1000毫秒再调用一次count_sj。
    这个时候之前的count_sj已经被执行完了。执行完了!当然,上一个setTimeout也就不存在了
      

  3.   


    哥们,你看上面的代码,它在自己调用自己,所以运行一直是没有结束的。上个setTimeout没有结束就开始新的setTimeout了,不知道浏览器会不会自动注销上一个setTimeout啊????
    settimeout 执行了就注销了 只是里面实际调用的函数 的释放就看又被有被 闭包引用
    每次执行settimeout 系统就会  挂起一个settimeout中指定的 function 等待执行
    js运行环境 本身就是一串 function 在哪里依次等待执行