Выражения, используемые для итерации в ActionScript
2, включают while, do..while, for и for..in. ActionScript 3 также
поддерживает все эти выражения, но и предлагает новое выражение for
each..in. Выражение for each..in – как упрощенное
выражение for..in. В отличие от for..in, for each..in проходит по
значениям объекта, а не по именам переменных объекта или ключам. Если
вам не нужно знать ключи к значениям объекта во время итерации,
пожалуй, вы захотите использовать выражение for each..in вместо for..in.
// for..each iterates through values (not keys)var obj:Object = new Object(); obj.a = 1; obj.b = 2; obj.c = 3; for (var key:String in obj) { trace(key); // key (a, b, c) trace(obj[key]); // value (1, 2, 3) } for each (var value:* in obj) { trace(value); // value without key (1, 2, 3) } При
первом проходе for..in будет отслеживать как ключи (a, b и c), так и
значения (1, 2 и 3), в то время как for each будет отслеживать только
значения (1, 2, 3) и не будет иметь способа доступа к тому, какие ключи
используются для определения этих значений.
|