Класс Proxy не имеет конструктора, поэтому не следует пытаться создать экземпляр этого класса. Вместо этого сделайте класс Proxy подклассом для переопределения методов (например,
Следует помнить о том, что код, переопределяющий методы класса Proxy, может непреднамеренно вызывать исключения. Возникновение исключений при использовании этих методов приводит к проблемам, поскольку вызывающий код (в котором используются такие операторы, как
Класс Proxy заменяет функции ActionScript 2.0
Во избежание конфликтов с пространством имен
Когда методам класса Proxy передается аргумент
Например:
Например, (с кодом из
Например, (с кодом из
Примечание. Класс ByteArray предназначен для опытных разработчиков, которым требуется доступ к данным на уровне байтов.
Данные в памяти представляют собой упакованный массив байтов (наиболее компактное представление типа данных), но с экземпляром класса ByteArray можно работать с использованием стандартных операторов
Кроме того, поддерживается сжатие и распаковка zlib, а также сериализация объекта Action Message Format (AMF).
Среди возможных вариантов использования класса ByteArray следующие:
Примечание. Когда
Обратите внимание на то, что в конце добавляется сегмент кода для проверки ошибок конца файла. Это позволяет прекратить считывание потока байтов по достижении его окончания.
После вызова свойству
Формат упакованных данных zlib описан в документе
Алгоритм упаковки данных deflate описан в документе
Алгоритм упаковки deflate используется в различных форматах упаковки (например, zlib, gzip, некоторых реализациях zip и в других). Когда данные упаковываются с использованием одного из этих форматов упаковки, помимо хранения упакованной версии исходных данных данные формата упаковки (например, ZIP-файл) также содержат метаданные. Далее приводится несколько примеров типов метаданных, включаемых в различные форматы файлов: имя файла, дата и время изменения файла, исходный размер файла, необязательные комментарии, контрольная сумма и другие данные.
Например, когда объект ByteArray сжимается с помощью алгоритма zlib, результирующий объект ByteArray получает структуру определенного формата. Определенные байты содержат метаданные об упакованных данных, а другие байты содержат сжатую версию исходных данных объекта ByteArray. Как определено спецификацией формата упакованных данных zlib, эти байты (то есть та часть, которая содержит упакованную версию исходных данных) сжимаются с использованием алгоритма deflate. Следовательно, в результате получаются байты, идентичные результату вызова
Чтобы формат deflate можно было использовать для сжатия данных экземпляра ByteArray в определенный формат (например, gzip или zip), нельзя просто вызвать
После вызова свойству
Алгоритм упаковки данных deflate описан в документе
Чтобы формат deflate можно было использовать для сжатия данных экземпляра ByteArray в определенный формат (например, gzip или zip), недостаточно просто вызвать
После вызова свойству
Алгоритм упаковки данных deflate описан в документе
При раскодировании данных, сжатых в формат, использующий алгоритм сжатия DEFLATE (например, формат gzip или zip), вызов метода
Возвращенное значение находится в диапазоне от -128 до 127.
Возвращаемое значение находится в диапазоне от -2147483648 до 2147483647.
Примечание. Если текущая система не распознает значение параметра
Возвращаемое значение находится в диапазоне от -32768 до 32767.
Возвращенное значение находится в диапазоне от 0 до 255.
Возвращенное значение находится в диапазоне от 0 до 4294967295.
Возвращенное значение находится в диапазоне от 0 до 65535.
После вызова свойству
Формат упакованных данных zlib описан в документе
Алгоритм упаковки данных deflate описан в документе
При раскодировании данных, упакованных в формат, использующий алгоритм сжатия deflate (например, формат gzip или zip), вызов метода
Используется 8 младших битов параметра. 24 старших битов игнорируются.
Если параметр
Если параметры
Каждый раз, когда выполняется доступ к объекту ByteArray, в сочетании с методами чтения следует использовать свойство
Когда объект записывается или считывается из двоичных данных, свойство
Если длина установлена в значение, превышающее текущую длину, правая часть массива байтов заполняется нулями.
Если длина установлена в значение, меньшее текущей длины, выполняется усечение массива байтов.
По умолчанию все операции IDataInput и IDataOutput используют порядок bigEndian (у старшего байта последовательности меньший адрес), и являются неблокирующими.
Расширение знака имеет значение только при чтении данных, но не при их записи. Поэтому для работы с
Обратите внимание на то, что в конце добавляется сегмент кода для проверки ошибок конца файла. Это позволяет прекратить считывание потока байтов по достижении его окончания.
Если параметр
Если параметры
Содержимое в
Шестнадцатеричное число 0x12345678 состоит из 4 байтов (2 шестнадцатеричных разряда на байт). Старшим байтом является 0x12. Младшим — 0x78. (Для эквивалентного десятеричного числа 305419896 старшим разрядом является 3, а младшим — 6.)
Поток, в котором используется порядок следования байтов bigEndian (первым идет старший байт), выдает следующее:
12 34 56 78
Шестнадцатеричное число 0x12345678 состоит из 4 байтов (2 шестнадцатеричных разряда на байт). Старшим байтом является 0x12. Младшим — 0x78. (Для эквивалентного десятеричного числа 305419896 старшим разрядом является 3, а младшим — 6.)
Поток, в котором используется порядок следования байтов littleEndian (первым идет младший байт), выдает следующее:
78 56 34 12
Если в классе не реализован интерфейс IExternalizable, или если класс не наследует этот интерфейс у класса, в котором он реализован, то экземпляр класса будет сериализован только с помощью стандартного механизма общедоступных элементов. В результате закрытые, внутренние и защищенные элементы класса будут недоступны.
Для сериализации закрытых элементов класс должен использовать интерфейс IExternalizable. Например, следующий класс не сериализует ни один из своих элементов, поскольку они являются закрытыми:
Однако при реализации интерфейса IExternalizable появляется возможность записи закрытых элементов класса в поток данных и их чтения из этого потока, как показано ниже:
Примечание. Если в классе реализован интерфейс IExternalizable, к экземплярам этого класса стандартная сериализация не применяется. Если этот класс наследует у суперкласса общедоступные элементы, ими следует управлять с осторожностью.
Когда у подкласса класса, в котором реализован интерфейс IExternalizable, есть собственные закрытые элементы, в подклассе необходимо переопределить методы этого интерфейса, как указано ниже:
Интерфейс IExternalizable также можно использовать для сжатия данных перед их записью в поток данных. Например:
Примечание.
Если параметр
Чтобы получить статические свойства типа, передайте для параметра
Примечание. Если требуется только пройти по иерархии наследования объекта, а остальные сведения, предоставляемые функцией
В следующей таблице описываются некоторые теги и атрибуты объекта XML, создаваемого методом
После получения имени класса с помощью этой функции имя класса можно преобразовать с помощью функции
Примечание. Эта функция ограничивается иерархиями экземпляра, а функция
Дату календаря (метку времени) см. в объекте Date.
При каждом вызове метода
Создается цикл до миллиона. Если система может обработать этот запрос быстрее, чем за одну секунду,
Вместо использования метода
Если предполагается использование метода
Вместо использования этого метода рекомендуется создавать объект Timer с указанным интервалом, в котором в качестве параметра
Если предполагается использование метода
Объекты Timer можно создавать для однократного запуска или повторяющегося выполнения кода по расписанию.
Таймер не запускается автоматически, для его запуска необходимо вызвать метод
Создается объект Timer, который запускается через 30 секунд (установлена задержка в 30000 миллисекунд) и повторяется три раза, всего — 90 секунд. (После третьего раза таймер останавливается).
Для таймера
Примечание. Класс Timer отслеживает количество запусков (
При последнем вызове таймера отправляется событие
Примечание. Не рекомендуется задавать свойству
По умолчанию все операции IDataInput и IDataOutput используют порядок bigEndian (у старшего байта последовательности меньший адрес), и являются неблокирующими. Если данных недостаточно, возникает исключение
Расширение знака имеет значение только при чтении данных, но не при их записи. Поэтому для работы с
Обратите внимание на то, что в конце добавляется сегмент кода для проверки ошибок конца файла. Это позволяет прекратить считывание потока байтов по достижении его окончания.
Примечание. Если в текущей системе не распознается значение параметра
Этот метод похож на метод
Следующие инструкции показывают связь между объектом Dictionary и объектом key:
var dict = new Dictionary(); var obj = new Object(); var key:Object = new Object(); key.toString = function() { return "key" } dict[key] = "Letters"; obj["key"] = "Letters"; dict[key] == "Letters"; // true obj["key"] == "Letters"; // true obj[key] == "Letters"; // true because key == "key" is true b/c key.toString == "key" dict["key"] == "Letters"; // false because "key" === key is false delete dict[key]; //removes the key