ActionScript 3.0: вызываем функцию с помощью String

Итак, допустим, что у нас есть название нужной нам функции в виде строки (то есть тип данных String). И нам надо с помощью этого String-а вызвать функцию. Как быть?

Можем сделать так...

Код ActionScript 3.0:

function myFunc() { trace("myFunc") } var myFunc_str:String = "myFunc"; myFunc_str();

но эта попытка закончится сообщением об ошибке. Печалька :-(

Как же быть?

А надо лишь чуть-чуть изменить запись...

Код ActionScript 3.0:

function myFunc() { trace("myFunc") } var myFunc_str:String = "myFunc"; this[myFunc_str]();

или

Код ActionScript 3.0:

function myFunc() { trace("myFunc") } this["myFunc"]();

И всё работает!!! :-)

Как это может пригодится?

Давайте рассмотрим пару примеров, где это можно использовать:

[ 1-й пример ]

В массиве хранятся имена функций; проходим циклом по массиву и вызываем функции.

Код ActionScript 3.0:

var arr:Array = ["myFunc_1", "myFunc_2"]; function myFunc_1() { trace("myFunc_1") } function myFunc_2() { trace("myFunc_2") } var i:uint = 0; while(i < arr.length) { this[arr[i]](); i++; }

[ 2-й пример ]

Ещё более полезный пример: генерируем имена функций на лету (поверьте, иногда очень пригождается).

Код ActionScript 3.0:

function myFunc_1() { trace("myFunc_1") } function myFunc_2() { trace("myFunc_2") } var l:uint = 2; var i:uint = 0; while(i < l) { this["myFunc_"+ (i + 1)](); i++; }

На самом деле, примеров можно придумать и больше. Но, я думаю, что суть понятна :-) А у меня на этом всё.

Автор: admin

Дата добавления: 2015-01-08

Просмотров: 1963

Рейтинг поста: +5-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2015-01-12
Спасибо.
Комментатор
Комментарий добавил(а): RadMirXAn
Дата добавления: 2015-01-12
Отличный урок =)
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика