Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript three.js为什么它使用for循环而不是while_Javascript_Performance_For Loop_While Loop_Three.js - Fatal编程技术网

Javascript three.js为什么它使用for循环而不是while

Javascript three.js为什么它使用for循环而不是while,javascript,performance,for-loop,while-loop,three.js,Javascript,Performance,For Loop,While Loop,Three.js,可能重复: 我在three.js中看到了许多语言中的通用代码功能: for ( var i = 0, l = something.length; i < l; i++ ) { do some stuff over i } 这是否真的显著提高了性能?有没有理由选择其中一个而不是另一个 这是否真的显著提高了性能 不是。跨浏览器(也就是说,跨JavaScript实现)不可靠 此外,请注意,在您的示例中,您引用的while循环向后循环(n到0),而for循环向前循环(0到n)。有时候这

可能重复:

我在three.js中看到了许多语言中的通用代码功能:

for ( var i = 0, l = something.length; i < l; i++ ) {
    do some stuff over i
}
这是否真的显著提高了性能?有没有理由选择其中一个而不是另一个

这是否真的显著提高了性能

不是。跨浏览器(也就是说,跨JavaScript实现)不可靠

此外,请注意,在您的示例中,您引用的
while
循环向后循环(n到0),而
for
循环向前循环(0到n)。有时候这很重要

一般来说,微优化很少是合适的,在JavaScript的情况下尤其如此,在JavaScript中,不同的实现具有明显不同的性能特征。相反,要编写清晰、可维护的代码,并且只在出现特定性能问题时才解决这些问题,如果出现,则在目标引擎上解决这些问题

这是否真的显著提高了性能

不是。跨浏览器(也就是说,跨JavaScript实现)不可靠

此外,请注意,在您的示例中,您引用的
while
循环向后循环(n到0),而
for
循环向前循环(0到n)。有时候这很重要


一般来说,微优化很少是合适的,在JavaScript的情况下尤其如此,在JavaScript中,不同的实现具有明显不同的性能特征。相反,编写清晰、可维护的代码,并仅在出现特定性能问题时才解决这些问题,如果出现,则在目标引擎上解决这些问题。

@user1689607:不,这是一个特定于语言的问题。这个问题与语言无关。@T.J.Crowder:然后我们可以从右边的列表中选择另一个。你在哪里读到的@user1689607:从你的第二个链接问题:“好吧,忘了它吧,测试中有一个bug”非常乐意相信这是一个副本,但如果是,让我们正确地识别它。@T.J.Crowder:许多近乎重复的,不确定哪一个算是准确的,但答案几乎总是一样的。。。微观优化,取决于实现等等。@user1689607:不,这是一个特定于语言的问题。这个问题与语言无关。@T.J.Crowder:然后我们可以从右边的列表中选择另一个。你在哪里读到的@user1689607:从你的第二个链接问题:“好吧,忘了它吧,测试中有一个bug”非常乐意相信这是一个副本,但如果是,让我们正确地识别它。@T.J.Crowder:许多近乎重复的,不确定哪一个算是准确的,但答案几乎总是一样的。。。微优化,取决于实现等。+ 1浏览器不可知的性能警察很少考虑这样一个事实,即一个额外的DOMReady事件可以占1000万的循环。+ 1浏览器不可知性能警察很少考虑这样一个事实,即一个额外的DOMReady事件可以占1000万的循环。
var i = something.length;
while(i--){
    do some stuff over i
}