Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   как передать значение из функции? (http://www.flasher.ru/forum/showthread.php?t=68214)

3dmax 22.08.2005 16:51

как передать значение из функции?
 
насколько я понял из функции нельзя передать значение переменной.
тоесть за пределами функции переменной просто не видно. :(
но неужели никто не сталкивался с этой проблемой, когда надо, хоть как-то, передать значение переменной из функции программе?

iNils 22.08.2005 16:55

fun = function (a) {
var b = a * a;
return b;
}
trace(fun (5));

3dmax 22.08.2005 17:41

Цитата:

Сообщение от iNils
fun = function (a) {
var b = a * a;
return b;
}
trace(fun (5));

О это мне помогло.Только вот, что-то я не пойму функцию что можно вызывать только 1 раз?
Например :
onEnterFrame = function() {
b=15;
delete onEnterFrame;
return b
};
a=onEnterFrame(b);
trace("a="+a)
c=onEnterFrame(b);
trace("c="+c)

Пишет :
a=15
c=undefined
:confused:

KidsKilla 22.08.2005 18:16

onEnterFrame = function() {
b=15;
delete onEnterFrame;
return b
};

те чего надо-то?

3dmax 22.08.2005 18:33

читай внимательнее я спросил почему функция 2 раза не вызывается?

iNils 22.08.2005 18:44

Цитата:

Сообщение от 3dmax
onEnterFrame = function() {
b=15;
delete onEnterFrame;
return b
};
a=onEnterFrame(b);
trace("a="+a)
c=onEnterFrame(b);
trace("c="+c)

1. onEnterFrame это функция обработчик события, ее не надо вызывать, она сама по себе работает если. используй другой имя для функции
2. delete onEnterFrame; после первого обращения к функции этой строкой ты эту функцию убиваешь, поэтому во второй раз она уже сработает.
3. вызвая функцию таким образом onEnterFrame(b); ты передаешь ей параметр b, но описывая саму функцию как onEnterFrame = function() ты это параметр в нее не вставляешь (можно конечно использовать arguments[] но это отдельная песня), и функция у тебя возвращает только то что в ней само описано. поэтому мужно ее вызываеть без b, а просто onEnterFrame();

СМЕНИ ИМЯ ФУНКЦИИ

3dmax 22.08.2005 18:49

спасибо, я было сам догадался че она 2-й раз не вызывается.
а имя функции я выбрал специально, т.к. моя прога читает переменные из файла а эта функция помогает,чтобы они прочлись.
ну вобщем там много чего.
еще раз спасибо.


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

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