zoukankan      html  css  js  c++  java
  • JS 循环定时的一些思考

    网上也有例子,

    function doSetTimeout(i) {
      setTimeout(function() { console.log(i); }, 1000);
    }
    
    for (var i = 1; i <= 8; ++i)
      doSetTimeout(i);

    1到8 是几乎同时输出的,

    setTimeout(getResult,1000);//定时获取短信内容
    function getResult(){ 
    console.log("aa");
    setTimeout(getResult,1000);
    }

    上面可以定时,一秒秒输出,如何要控制次数,可以加个变量

     var i=0; 
     var dotimes =4;
    setTimeout(getResult,1000);
    function getResult(){ 
    i++;
    console.log(i);
    if(i<dotimes){
    setTimeout(getResult,1000);
    }
    }

    但是上面的代码有个很奇怪的现象

    为什么不是预想那样 一开始就输出1呢,把i++ 换成 i=i+1;也是一样。var 缓存let也一样,后来问人,其实那个2 和6不是程序输出的,是调用

    setTimeout的返回值,控制台也默认输出了,和程序无关,下方将函数赋值给一个 a,就不输出来了。
    var  i=0; 
    var dotimes =4;
    var a=setTimeout(getResult,1000);
    function getResult(){ 
    i=i+1;
    console.log(i);
    if(i<dotimes){
    setTimeout(getResult,1000);
    }
    }
  • 相关阅读:
    一般查找 (顺序查找)
    sscanf
    uva-11044-水题
    uva-10785-模拟水题
    uva-10596-欧拉回路
    uva-10879-因数分解
    uva-10562-二叉树
    扯皮的cplex-感觉时间不对
    cplex-Java-样例代码解析
    cplexJava源码---计算结果
  • 原文地址:https://www.cnblogs.com/rogge7/p/10482463.html
Copyright © 2011-2022 走看看