Вот эквивалент этого примера, только составленный с помощью цикла while:
var i = 1;while (i <= 10) { trace("Число: "+i); i++;}
Допустим, нам нужно управлять в цикле более чем одним фактором.
В цикле for
можно использовать более одной переменной-итератора, разделив их запятой.for (var i = 1, j = 10; i <=10; i++, j--) { trace("i увеличивается: " + i); trace("j уменьшается: " + j);};
Совместимость:
Используется с 5-ой версии Flash
for...in - Цикл, используемый для перечисления свойств объекта
for...in
Цикл, используемый для перечисления свойств объекта.
Синтаксис:
for (var thisProp in object) { statements // Предложения обычно используют thisProp}
Вместо повторения серии предложений, пока заданное проверочное выражение не даст значения
Предложения for-in
не требуют явного обновляющего предложения, поскольку число итераций цикла определяется числом свойств рассматриваемого объекта.Предложения
На каждой итерации цикла переменная
Простейшим примером цикла for-in
является сценарий, который перечисляет свойства объекта.Примеры:
Создание объекта, а затем перечисление по пунктам его свойств с помощью цикла for-in
var ball = new Object();ball.radius = 12;ball.color = "red";ball.style = "beach";for (var prop in ball) { trace("balls has the property " + prop);}
Пример выведет следующее
balls has the property style balls has the property color balls has the property radius
Т.к.
for (var prop in ball) { trace("balls." + prop + " is " + ball[prop]);}
Пример выведет:
ball.style is beach ball.color is red ball.radius is 12
Стоит обратить внимание, что свойства объекта, просматриваемые в цикле for-in
, нумеруются в непредсказуемом порядке. Кроме того, предложения for-in не всегда перечисляют все свойства объекта. Если объект определен пользователем, перечисляются все свойства, включая унаследованные.Но некоторые свойства встроенных объектов предложением for-in
пропускаются. Например, этим циклом не перечисляются методы встроенных объектов. Если вы хотите использовать предложение for-in для работы со свойствами встроенного объекта, сначала создайте проверочный цикл для определения доступных свойств объекта.Извлечение значений свойств с помощью цикла for-in
предоставляет также отличную возможность обнаружения клипов, присутствующих на временной диаграмме.Пример:
Заполнение массива динамически идентифицируемыми клипамиvar childClip = new Array();var childClipCount = 0;for(i in _root) { thisItem = _root[i]; if(typeof thisItem == "movieclip") { // Обратите внимание на постфиксный оператор инкрементирования childClip[childClipCount++] = thisItem; }}// После заполнения массива можно использовать его// для обработки клипов, которые в нем находятся// Поместить первый клип у левого края рабочего столаchildClip[0]._x = 0// Поместить второй клип у верхнего края рабочего столаchildClip[1]._y = 0
В приведенном примере при использовании в предложении for-in
функцияКогда клипы определены, их можно присвоить массиву для проведения программной обработки.
Цикл for-in
также можно использовать для извлечения элементов массива. В этом случае цикл примет вид:for (var thisElement in array) { statements;}
Пример:
Перечисление элементов массиваvar myArr = [123, 234, 345, 456];for( var elem in myArr) { trace(myArr[elem]);}
Совместимость:
Используется с 5-ой версии Flash
fscommand - Передача данных браузеру
fscommand
(
Позволяет отправить данные программе, которая запустила данный клип
Синтаксис:
fscommand(command, arguments)
Аргументы:
Описание:
С помощью функции fscommand()
, фильм Flash может связываться с автономным проигрывателем или приложением-хозяином проигрывателя:средой, в которой выполняется Flash Player (веб-браузером или Macromedia Director).Функция fscommand()
обычно используется одним из трех способов:При использовании с автономным плеером fscommand()
принимает одну из встроенных пар команда/аргумент, как показано в следующей таблице:Пары команда/аргумент в автономном проигрывателе