zoukankan      html  css  js  c++  java
  • 循环中执行setTimeout代码

    方法一:

    (function () { var arr = [100, 200, 300, 400, 500]; for (var i = 0; i < arr.length; i++) { (function (i) { setTimeout(function () { console.log(i + "----------" + i * Math.random()); }, arr[i] * Math.random()); })(i); } }());
    方法二:
    var arr = [100, 200, 300, 400, 500]; (function (i, len, count, callback) { for (; i < len; ++i) { (function (i) { callback(arr[i]); }(i)); } }(0, arr.length, 0, function (param) { setTimeout(function () { console.log(param + "----------" + param * Math.random()); }, param); })); 方法三: var arr = [100, 200, 300, 400, 500]; (function next(i, len, callback) { if (i < len) { callback(arr[i]); next(i + 1, len, callback); } }(0, arr.length, function (param) { setTimeout(function () { console.log(param + "----------" + param * Math.random()); }, param); }));

    循环中执行setTimeout代码,1,2为并行,不保证执行顺序,效率高

  • 相关阅读:
    分页
    【移动】
    iOS
    内存数据库
    HOJ——T 2275 Number sequence
    HOJ——T 1867 经理的烦恼
    HOJ——T 2430 Counting the algorithms
    洛谷—— P2047 社交网络
    HDU——T 1166 敌兵布阵
    前端学习之jquery
  • 原文地址:https://www.cnblogs.com/KruceCoder/p/6556142.html
Copyright © 2011-2022 走看看