for (k in obj) { к = ' ' + к + '
}
Приведенный фрагмент сценария просматривает все свойства экземпляра obj и добавляет к значению каждого из них пробелы слева и справа. (Предполагается, что значения всех свойств этого экземпляра имеют строковый тип.)
Ключевое слово with позволяет значительно сократить длину выражений ActionScript, если в них используются свойства или методы какого-либо одного экземпляра объекта. Рассмотрим его применение на примере.
Напишем несколько выражений, обращающихся к свойствам и методам экземпляра какого-либо объекта:
someObj ect.propl = 1;
someObj ect.prop2 = 2;
someObj ect.ргорЗ = 3;
someObj ect.methodl; Какие длинные строки у этих выражений! А теперь перепишем их, использовав ключевое слово with: with (someObject){ propl = 1; prop2 = 2; ргорЗ = 3; methodl;
}
Сценарий сразу стал компактнее. И быстрее, кстати говоря.
Встроенные объекты ActionScript
Встроенными называются объекты, реализованные в самом языке ActionScript. В этом разделе будут рассмотрены их краткие описания и даны примеры использования. Полное описание всех этих объектов можно найти в интерактивной справке Flash.
Интересной особенностью языка ActionScript является то, что он может представлять обычные типы данных - строковый, числовой, логический - как объекты. Поэтому со строками, числами и логическими величинами можно обращаться как с экземплярами соответствующих объектов, вызывать их методы и использовать их свойства. Львиная доля встроенных объектов ActionScript как раз и "отвечает" за объектное представление обычных типов данных.
Объект String
Объект string представляет собой обычную строку. Пользуясь его свойствами и методами, можно выполнять различные манипуляции над строками.
Создать экземпляр объекта string можно одним из двух способов, как показано в следующих примерах:
var s = new String("Flash");
var s = "Flash"; Как правило, чаще используется второй способ - он и компактнее в записи, и привычнее.
Свойство length объекта string позволяет получить (или, как говорят программисты, "возвращает") длину строки в символах. Например:
1 = s.length; Метод charAt объекта string возвращает символ строки, номер позиции которого в строке был передан в качестве единственного параметра метода:
ch = s.charAt(s.length - 1); Внимание!
Нумерация символов строки начинается с нуля.
После выполнения выражения из приведенного примера в переменной ch окажется предпоследний символ строки s.
Метод indexof возвращает номер вхождения подстроки в строку. Если подстрока не найдена, возвращается - 1. При этом можно вторым параметром передать в метод номер вхождения, с которого начнется поиск:
<Строка>.indexOf(<Подстрока>, [<Номер вхождения>])
Например:
s = "Macromedia Flash 8"; n = s.indexOf("a", 2); После выполнения этого сценария в переменной п окажется число 13 - именно под таким номером стоит символ "а" в слове "Flash".
Метод lastindexof схож с методом indexof, только ищет подстроку не слева направо, а справа налево, т. е. с конца строки.