Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.03.2006, 12:46
Futs вне форума Посмотреть профиль Отправить личное сообщение для Futs Найти все сообщения от Futs
  № 1  
Ответить с цитированием
Futs
 
Аватар для Futs

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
По умолчанию Изменение typeof

Имеется массив с именами функций, они являются стрингами
Код:
var a:Function = new Function;
trace(a instanceof Function);//true
a=arrFunc[0];
trace(a instanceof Function);//false
как же тогда можно вызвать функцию из массива?

Старый 20.03.2006, 12:52
Samodelkin вне форума Посмотреть профиль Отправить личное сообщение для Samodelkin Найти все сообщения от Samodelkin
  № 2  
Ответить с цитированием
Samodelkin

Регистрация: Jul 2005
Адрес: Москва
Сообщений: 452
Отправить сообщение для Samodelkin с помощью ICQ
а если местами поменять arrFunc[0] = a;
__________________
Давайте отбросим факты, чтобы увидеть суть

Старый 20.03.2006, 13:01
Futs вне форума Посмотреть профиль Отправить личное сообщение для Futs Найти все сообщения от Futs
  № 3  
Ответить с цитированием
Futs
 
Аватар для Futs

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
трейсит true, а как же ее вызвать?

Старый 20.03.2006, 13:10
ir73 вне форума Посмотреть профиль Отправить личное сообщение для ir73 Найти все сообщения от ir73
  № 4  
Ответить с цитированием
ir73
FD Team

блогер
Регистрация: Dec 2005
Сообщений: 365
Записей в блоге: 6
лично я не увидел в примере массива с именами функций

Старый 20.03.2006, 13:13
Samodelkin вне форума Посмотреть профиль Отправить личное сообщение для Samodelkin Найти все сообщения от Samodelkin
  № 5  
Ответить с цитированием
Samodelkin

Регистрация: Jul 2005
Адрес: Москва
Сообщений: 452
Отправить сообщение для Samodelkin с помощью ICQ
делаешь еще переменную типа var AbrFunc = arrFunc[0] и вызываешь AbrFunc()
__________________
Давайте отбросим факты, чтобы увидеть суть

Старый 20.03.2006, 13:24
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 6  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
arrFunc[0]()

Старый 20.03.2006, 13:25
Futs вне форума Посмотреть профиль Отправить личное сообщение для Futs Найти все сообщения от Futs
  № 7  
Ответить с цитированием
Futs
 
Аватар для Futs

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
Цитата:
Сообщение от ir73
лично я не увидел в примере массива с именами функций
Специально для тебя
Код:
var arrFunc:Array = new Array("func1", "func2");
2Samodelkin так тоже не работает

Старый 20.03.2006, 13:31
Futs вне форума Посмотреть профиль Отправить личное сообщение для Futs Найти все сообщения от Futs
  № 8  
Ответить с цитированием
Futs
 
Аватар для Futs

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 475
Дабы не было недопонимания привожу весь код
Код:
function  func1() {
	trace("первая функция")
}
function  func2() {
	trace("вторая функция")
}
var arrFunc:Array = new Array("func1", "func2");
var a:Function = new Function;
trace(a instanceof Function);
arrFunc[0]=a;
trace(a instanceof Function);
var AbrFunc = arrFunc[0];
AbrFunc();

Старый 20.03.2006, 13:41
Samodelkin вне форума Посмотреть профиль Отправить личное сообщение для Samodelkin Найти все сообщения от Samodelkin
  № 9  
Ответить с цитированием
Samodelkin

Регистрация: Jul 2005
Адрес: Москва
Сообщений: 452
Отправить сообщение для Samodelkin с помощью ICQ
function func1() {
trace("первая функция")
}
function func2() {
trace("вторая функция")
}
var arrFunc:Array = new Array(func1, func2);
var AbrFunc = arrFunc[0];
AbrFunc()
__________________
Давайте отбросим факты, чтобы увидеть суть

Старый 20.03.2006, 13:42
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 10  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
Обарываю твой код:
Код:
function  func1() {
	trace("первая функция")
}
function  func2() {
	trace("вторая функция")
}
var arrFunc:Array = new Array("func1", "func2"); 
var a:Function = new Function;
trace(a instanceof Function);
arrFunc[0]=a; // <- и че с чего ты решил что а у тебя функция? вернее она то функция но нужно выяснить какая 
trace(a instanceof Function); // <- таже байда, ты сдесь а не менял
var AbrFunc = arrFunc[0]; // ну и что? поменял ты этот arrFunc[0] присвоил ей не понятную функцию и что дальше?...
AbrFunc();//... оно у тя никогда ниче не протрейсит
2 варианта когда оно будет работать:
Код:
function  func1() {
	trace("первая функция")
}
function  func2() {
	trace("вторая функция")
}
var arrFunc:Array = new Array(func1, func2); // убрали кавычки
arrFunc[0]();
ili
Код:
function  func1() {
	trace("первая функция")
}
function  func2() {
	trace("вторая функция")
}
var arrFunc:Array = new Array("func1", "func2"); // кавычки оставили
this[arrFunc[0]](); //но поменяли способ вызова

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:39.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.