这个问题真的是双重的:
for each
遍历 Array 与for
通过其元素的简单循环在性能方面如何比较?循环是否保证顺序遍历?以下代码说是:
var sample_array:Array = []; for (var i:uint = 0; i < 10000; i++) sample_array.push(i); i = 0; for each(var value:uint in sample_array) { sample_array[i++] = value; } trace('in order was:', check_in_order(sample_array)); function check_in_order(array:Array):Boolean { for (var i:uint = 0, l:uint = array.length; i < l; ++i) { if (array[i] != i) return false; } return true; }
但我听说其他(高级)工程师上下发誓,遍历并不总是按升序进行!这是真的?