Чтение онлайн

ЖАНРЫ

Macromedia Flash Professional 8. Графика и анимация

Дронов В. А.

Шрифт:

Оператор typeof возвращает для экземпляра объекта строку "object". Это значит, что экземпляр объекта имеет объектный тип данных.

На заметку

Очень часто Flash сам создает экземпляры каких-либо объектов и сам же их удаляет. В частности, именно так происходит с экземплярами объекта Movieclip, т. е. клипами.

Несколько новых операторов и ключевых слов

А теперь самое время рассмотреть несколько новых

операторов и действий, применяемых при работе с объектами и их экземплярами.

Оператор instanceof проверяет, является ли экземпляр экземпляром заданного объекта, и возвращает соответственно значение true или false. Формат его записи такой:

<Переменная> = <Экземпляр объекта> instanceof <Объект>;

В приведенном ниже примере экземпляр задается в виде переменной, содержащей ссылку на него, а объект — в виде имени объекта.

if (obj instanceof someObject).

Ключевые слова for и in служат для организации так называемого цикла просмотра, позволяющего просмотреть все свойства экземпляра объекта. Он также называется "циклом for-in" и имеет следующий формат записи:

for (<Переменная-ссылка на свойство> in <Экземпляр объекта>)

<Тело цикла>

Переменная-ссылка на свойство каждый раз получает значение очередного свойства экземпляра. Эту переменную можно использовать для получения доступа к найденному свойству.

for (k in obj) {

k = ' ' + k + ' ';

}

Приведенный фрагмент сценария просматривает все свойства экземпляра obj и добавляет к значению каждого из них пробелы слева и справа. (Предполагается, что значения всех свойств этого экземпляра имеют строковый тип.)

Ключевое слово with позволяет значительно сократить длину выражений ActionScript, если в них используются свойства или методы какого-либо одного экземпляра объекта. Рассмотрим его применение на примере.

Напишем несколько выражений, обращающихся к свойствам и методам экземпляра какого-либо объекта:

someObject.propl = 1;

someObject.prop2 = 2;

someObj ect.prop3 = 3;

someObj ect.method1;

Какие длинные строки у этих выражений! А теперь перепишем их, использовав ключевое слово with:

with (someObject){

propl = 1;

prop2 = 2;

prop3 = 3;

methodl;

}

Сценарий сразу стал компактнее. И быстрее, кстати говоря.

Встроенные объекты ActionScript

Встроенными называются объекты, реализованные в самом языке ActionScript.

В этом разделе будут рассмотрены их краткие описания и даны примеры использования. Полное описание всех этих объектов можно найти в интерактивной справке Flash.

Интересной особенностью языка ActionScript является то, что он может представлять обычные типы данных — строковый, числовой, логический — как объекты. Поэтому со строками, числами и логическими величинами можно обращаться как с экземплярами соответствующих объектов, вызывать их методы и использовать их свойства. Львиная доля встроенных объектов ActionScript как раз и "отвечает" за объектное представление обычных типов данных.

Объект String

Объект String представляет собой обычную строку. Пользуясь его свойствами и методами, можно выполнять различные манипуляции над строками.

Создать экземпляр объекта String можно одним из двух способов, как показано в следующих примерах:

var s = new String("Flash");

var s = "Flash";

Как правило, чаще используется второй способ — он и компактнее в записи, и привычнее.

Свойство length объекта String позволяет получить (или, как говорят программисты, "возвращает") длину строки в символах. Например:

1 = s.length;

Метод сharAt объекта String возвращает символ строки, номер позиции которого в строке был передан в качестве единственного параметра метода:

ch = s.charAt(s.length — 1);

Внимание!

Нумерация символов строки начинается с нуля.

После выполнения выражения из приведенного примера в переменной ch окажется предпоследний символ строки s.

Метод indexof возвращает номер вхождения подстроки в строку. Если подстрока не найдена, возвращается — 1. При этом можно вторым параметром передать в метод номер вхождения, с которого начнется поиск:

<Строка>.indexOf(<Подстрока>, [<Номер вхождения>])

Например:

s = "Macromedia Flash 8";

n = s.indexOf("a", 2);

После выполнения этого сценария в переменной п окажется число 13 — именно под таким номером стоит символ "а" в слове "Flash".

Метод last indexOf схож с методом indexOf, только ищет подстроку не слева направо, а справа налево, т. е. с конца строки.

Методы toLowerCase и toUpperCase преобразуют все символы строки соответственно к нижнему и верхнему регистру.

Поделиться с друзьями: