GVKun编程网logo

JavaScript:For循环超时(javascript中for循环)

14

在本文中,您将会了解到关于JavaScript:For循环超时的新资讯,同时我们还将为您解释javascript中for循环的相关在本文中,我们将带你探索JavaScript:For循环超时的奥秘,分

在本文中,您将会了解到关于JavaScript:For循环超时的新资讯,同时我们还将为您解释javascript中for循环的相关在本文中,我们将带你探索JavaScript:For循环超时的奥秘,分析javascript中for循环的特点,并给出一些关于16JavaScript for循环、for 循环性能比较 提高for循环的效率_javascript技巧、For循环仅运行1次-JavaScript、JavaScript for循环的实用技巧。

本文目录一览:

JavaScript:For循环超时(javascript中for循环)

JavaScript:For循环超时(javascript中for循环)

我希望我的for循环不应该一次执行,而要在每次迭代后等待超时。例如:

for(var i=0; i<10; i++) {    console.log(i);    //wait for 1000}

我发现了很多关于堆栈溢出的解决方案,例如:

for (var i=0;i<=10;i++) {   (function(ind) {       setTimeout(function(){console.log(ind);}, 3000);   })(i);}

但是在所有实现中,循环最初等待3000毫秒,然后立即执行整个for循环。有没有一种方法可以等待1000毫秒后调用每次迭代。

答案1

小编典典

您可以使用简单的数学方法来解决:

for (var i=0;i<=10;i++) {   (function(ind) {       setTimeout(function(){console.log(ind);}, 1000 + (3000 * ind));   })(i);}

1000ms:0
4000ms:1
7000ms:2
10000ms:3
13000ms:4


跟随评论

您的请求似乎有点模糊。如果您想在上一次超时后执行某项操作,则可以设置一个限制并比较当前索引:

var limit = 10for (var i=0;i<=limit;i++) {   (function(ind) {       setTimeout(function(){           console.log(ind);           if(ind === limit){               console.log(''It was the last one'');           }       }, 1000 + (3000 * ind));   })(i);}

我想我知道你想要什么…

它只是要做

for (var i=0;i<=10;i++) {   (function(ind) {       setTimeout(function(){console.log(ind);}, 1000 * ind);   })(i);}

16JavaScript for循环

16JavaScript for循环

1.JavaScript 循环

如果希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。

我们可以这样输出数组的值:

document.write(cars[0] + "");

Meta Yubaba

<span><<span>script<span>><span>
arr<span>=<span>[<span>"<span>1<span>"<span>,<span>"<span>2<span>"<span>,<span>"<span>3<span>"<span>,<span>"<span>4<span>"<span>,<span>"<span>5<span>"<span>,<span>"<span>6<span>"<span>];
<span>for<span> (<span>var<span> i<span>=<span>0<span>;i<span><<span>arr.length;i<span>++<span>){
document.write(arr[i] <span>+ <span>"<span>
<span>"<span>);
}
<span></<span>script<span>>

<span></<span>body<span>>
<span></<span>html<span>>

结果:

2.不同类型的循环

JavaScript 支持不同类型的循环:

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

3.For 循环

for 循环是您在希望创建循环时常会用到的工具。

下面是 for 循环的语法:

代码块 }

语句 1 (代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

Meta Yubaba 点击按钮循环代码6次。 点击这里

运行结果:

for中的 语句 1

通常我们会使用语句 1 初始化循环中所用的变量 (var i=0)。

语句 1 是可选的,也就是说不使用语句 1 也可以。

我们可以在语句 1 中

( i=0,len=cars.length; i+ "
"

同时还可以省略语句 1(比如在循环开始前已经设置了值时):

i=2,len= (; i+ "
"

for中的 语句 2

通常语句 2 用于评估初始变量的条件。

语句 2 同样是可选的。

如果语句 2 返回 true,则循环再次开始,如果返回 false,则循环将结束。

注意:如果我们省略了语句 2,那么必须在循环内提供 break。否则循环就无法停下来。这样有可能令浏览器崩溃。

for中的 语句 3

通常语句 3 会增加初始变量的值。

语句 3 也是可选的。

语句 3 有多种用法。增量可以是负数 (i--),或者更大 (i=i+15)。

语句 3 也可以省略(比如当循环内部有相应的代码时):

i=0,len= (; i<+ "
"++

4.For/In 循环

JavaScript for/in 语句循环遍历对象的属性:

实例:

Meta Yubaba 点击下面的按钮,通过for in循环遍历对象 "person" 的属性。 点击这里

运行结果:

fdb8cd83387f7c2.png" alt="">

for 循环性能比较 提高for循环的效率_javascript技巧

for 循环性能比较 提高for循环的效率_javascript技巧

for(int i=1,n=tempUser.length;i for(int i=1,;i 习惯for(int i=1,;i 我当即就测试了一下,发现果然性能比较起来差别很小,甚至后者更高效一点。
虽然得出这样的结果,但和自己心里想的确完全相反的。所有当然就回复说差不多。
今天又发现一位前辈的blog中正好有对这个帖子的回应。他做了测试,内容大致是前面的帖子的问题应该是差不多的,但是他又更深入的进行测试,得出:在有情况for(int i=0;i所有我也做了一下测试:

复制代码 代码如下:

class Program {
static void Main(string[] args) {
string s;
s = Console.ReadLine();

while(s != "0") {
Person p = new Person(10000000);

Console.WriteLine("for(int i=0;iConsole.WriteLine("Starting...");
long l1 = DateTime.Now.Ticks;

for(int i = 0; i //Console.Write(lenArray[i]);

}
long l2 = DateTime.Now.Ticks;

Console.WriteLine("Ending.\nTime is : " + (l2 - l1).ToString());

Console.WriteLine("for(int i=0,n=lenArray.length;iConsole.WriteLine("Starting...");

long l3 = DateTime.Now.Ticks;
for(int i = 0, n = p.Child.Alias.Length; i //Console.Write(lenArray[i]);

}
long l4 = DateTime.Now.Ticks;
Console.WriteLine("Ending.\nTime is : " + (l4 - l3).ToString());
s = Console.ReadLine();
}
Console.Read();
}
}


其中数据量越大,类越大,差别越明显。

结论:影响应该在,变量在每次循环都要访问下一级变量的原因。如果只是简单的a.length可能编译器对这样的循环操作有优化,将a.length保存到了内存或一个比内存更块的地方,而多级就没有这么幸运了。
我们都知道for(int i=0;i

For循环仅运行1次-JavaScript

For循环仅运行1次-JavaScript

您有一个return,它将中断迭代。

,

在您的for循环中删除return语句

,

在for循环块外设置return语句,否则迭代会停止

var cmpz_disabled_dates=$.parseJSON(disabled_dates);
var date = new Date();
console.log(cmpz_disabled_dates);
for (i = 0; i < cmpz_disabled_dates.length; i++) {
    var type = cmpz_disabled_dates[i]["type"];
        if(type === "ebdida_day")   {
            var disabled_day = Number(cmpz_disabled_dates[i]["disabled"]) + 1;
            if(disabled_day == 8)   {
                disabled_day = 0;
            }
            var day = date.getDay();
            console.log(i,date,day,disabled_day);        
    }
    return [(disabled_day != day)];
}

JavaScript for循环

JavaScript for循环

<p><span> 循环可以将代码块执行指定的次数。


<p><span> JavaScript 支持不同类型的循环:

    次数 属性 代码块 代码块

代码块

代码块)开始前执行

代码块)的条件

后执行

Meta Insert title here

<span></<span>body<span>>
<span><<span>script <span>type<span>="text/javascript"<span>>
<span>for<span> (<span>var<span> i <span>= <span>0<span>; i <span>< <span>5<span>; i<span>++<span>) {
alert(<span>"<span>我是for循环<span>"<span>);
}
<span></<span>script<span>>
<span></<span>html<span>>

 

增加一个值(i++)

Meta Insert title here

<span></<span>body<span>>
<span><<span>script <span>type<span>="text/javascript"<span>>
<span>var<span> i <span>= <span>0
<span>for<span> (; i <span>< <span>5<span>; i<span>++<span>) {
alert(<span>"<span>我是for循环<span>"<span>);
}
<span></<span>script<span>>
<span></<span>html<span>>

 

用法,增量可以是负数(i--)或者更大(i = i + 15)

代码时)

Meta Insert title here

<span></<span>body<span>>
<span><<span>script <span>type<span>="text/javascript"<span>>
<span>var<span> i <span>= <span>0<span>,len <span>=<span> cc.length;
<span>for<span> (; i <span><<span> len;) {
alert(<span>"<span>我是for循环<span>"<span>);
i<span>++<span>;
}
<span></<span>script<span>>
<span></<span>html<span>>

 

属性:

Meta Insert title here

<span></<span>body<span>>
<span><<span>script <span>type<span>="text/javascript"<span>>
<span>var<span> person <span>=<span> {
name : <span>"<span>haha<span>"<span>,age : <span>16<span>
};
<span>for<span> (x <span>in<span> person) {
text <span>=<span> text <span>+<span> person[x];
}
<span></<span>script<span>>
<span></<span>html<span>>

属性,还可以遍历数组。

今天关于JavaScript:For循环超时javascript中for循环的讲解已经结束,谢谢您的阅读,如果想了解更多关于16JavaScript for循环、for 循环性能比较 提高for循环的效率_javascript技巧、For循环仅运行1次-JavaScript、JavaScript for循环的相关知识,请在本站搜索。

本文标签: