2010-02-18 4 views

ответ

0

Я не совсем понимаю, что вы П.Б., но return вам variable от function и передать его в качестве parameter к другому function.

function foo():String { 
var tmp:String="hello"; 
//... 
return tmp; 
} 

function bar(value:String):void{ 
//... 
trace(value); // will trace "hello" 
} 

var str:String=foo(); 
bar(str); 

// or 

bar(foo()); 
+0

привет патрик, я отправил подробную программу, пожалуйста, пройти и предложить: Вопрос: Создание пользовательского глоссария теги: flash, flex – mukherjeerimi

+0

Добавлен ответ на предыдущий вопрос – Patrick

0

Если вам необходимо использовать переменную, определенную в теле функции в другую функцию, то вы можете вернуть значение вы после этого от первой функции.

Вот пример, который проходит через предоставленный массив и возвращает индекс первого совпадающего числа (find).

function iterate(find:uint, values:Array):int 
{ 
    var i:uint = 0; 
    for(i; i<values.length; i++) 
    { 
     if(values[i] == find) return i; 
    } 

    return -1; 
} 

function doThings():void 
{ 
    var iterations:int = iterate(10, [5, 2, 5, 6, 10, 17, 4]); 
    trace(iterations); // output: 4 
} 

doThings(); 

Если вам нужно несколько значений, то вы могли бы хранить это в объект или массив, и вернуть, что:

function getpos():Object 
{ 
    var obj:Object = 
    { 
     x: stage.mouseX, 
     y: stage.mouseY, 
     side: mouseX < stage.stageWidth/2 ? "left" : "right" 
    }; 

    return obj; 
} 


stage.addEventListener(MouseEvent.CLICK, _click); 
function _click(e:MouseEvent):void 
{ 
    trace(getpos().side, getpos().x, getpos().y); 
} 
Смежные вопросы