Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Как динамически сформировать имя функции и вызвать ее с параметрами... (http://www.flasher.ru/forum/showthread.php?t=60101)

-МастеР- 02.07.2004 15:51

Как динамически сформировать имя функции и вызвать ее с параметрами...
 
причем в качестве параметра должен быть массив, не ссылка на него,а, например
есть текстовое поле, в нем забито:
textField="MyFunc(param1,[1,2,3,4,5,6,7,8,9])";
требуется выделить из текстового поля первый параметр, второй параметр и вызвать эту функцию с этими параметрами...
соответственно есть такая функция:
MyFunc(X,myArr){
trace(x);
trace(myArr);
}


2-й вопрос:
как просто вызвать функцию, допустим эту-же самую
MyFunc(X,myArr);
указав вместо второго параметра не ссылку на массив, а его в явном виде
MyFunc(param1,[1,2,3,4,5,6,7,8,9]) - так ?

Nucer 02.07.2004 18:59

Во флэше всегда все объекты по ссылке передаются, так что лучше в самой функции сделать копию массива (или чего угодно). Именно копию, а не Array1 = Array2.

Dindin 04.07.2004 02:49

по поводу первого вопроса - смотри тут
По поводу второго :
Код:

function  function myFunc(x,myArr){
trace(x);
trace(myArr);
}

myFunc('param1',[1,2,3,4,5,6,7,8,9]);

Не забывай писать ключевые слова, не путай регистры, и учти, что названия функций с заглавной буквы обычно резервируются для конструкторов классов.

silin 04.07.2004 17:35

myFunc=function(x,myArr){
trace(x);
trace(myArr);
}
tf="myFunc(param1,[1,2,3,4,5,6,7,8,9])";
this[tf.split("(")[0]](tf.split("(")[1].split(",")[0],"["+tf.split("(")[1].split("[")[1].split("]")[0]+"]");

Nox Noctis 05.07.2004 03:05

Цитата:

Оригинал написал(а) silin
this[tf.split("(")[0]](tf.split("(")[1].split(",")[0],"["+tf.split("(")[1].split("[")[1].split("]")[0]+"]");
"- На самом деле самого дела нет. В самой деятельности заключена самость дела - и наоборот. Наоборот получим оборот на, и таким образом перевернем образ. Я уже не говорю о природе говора в роде при уже. Ужи и узы - вы меня понимаете, мистер Андерсон? - Конечно, я так и думал, Смит. Дай еще затянуться. "

silin 05.07.2004 08:50

да уж...

Nucer 05.07.2004 15:55

Вопрос сформулирован не понятно. Но попробуй, кажется, Function.apply


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

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