Пытаясь понять функцию - PullRequest
3 голосов
/ 16 марта 2012

Я пытаюсь понять функцию, которую я нашел в Интернете.Я знаю, что делает функция, она получает информацию о веб-камере на вашем компьютере и публикует ее в текстовой области,

Но отдельные строки просто немного запутаны.

Любая помощь?

Спасибо

private var camera:Camera;
private function list_change(evt:ListEvent):void {
var tList:List = evt.currentTarget as List;
var cameraName:String = tList.selectedIndex.toString();
camera = Camera.getCamera(cameraName);
textArea.text = ObjectUtil.toString(camera);
}

1 Ответ

7 голосов
/ 16 марта 2012
private var camera:Camera;

Эта строка создает переменную типа класса Camera.Он не создает экземпляр переменной.

private function list_change(evt:ListEvent):void {

Эта строка является заголовком стандартной функции.Поскольку аргумент является ListEvent, это заставляет меня думать, что эта функция, вероятно, написана как обработчик событий.Из-за названия функции это больше похоже на прослушивание события изменения в списке.

var tList:List = evt.currentTarget as List;

Эта строка создает ссылку на список, отправивший событие, которое вызвало выполнение этого обработчика..

var cameraName:String = tList.selectedIndex.toString();

Эта строка преобразует selectedIndex в строку.Немного странно преобразовать индекс в строку, в отличие от некоторого значения.Но причина, по которой они это делают, выглядит на следующей строке ..

camera = Camera.getCamera(cameraName);

При этом используется эта переменная камеры (определенная в строке 1) и фактически получается экземпляр камеры.Он использует «cameraName», что заставляет меня думать, что список, отправивший это событие изменения, содержит список камер, доступных в системе.

textArea.text = ObjectUtil.toString(camera);

Это преобразует объект камеры в строку и отображает его в видетекстовая область.Обычно вы бы не пытались сделать это, так как это не дает никаких ценных данных.Объект по умолчанию будет отображать строки в виде [Объект объекта] или что-то подобное.Возможно, объект камеры имеет собственную строковую функцию;У меня нет опыта с этим.Обычно вы хотите получить доступ к свойствам объекта, чтобы получить полезную информацию, а не пытаться сделать это на самом объекте.

}

Эта строка является концом функции.Открытая скобка была во 2-й строке кода в определении функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...