Как вызвать значение переменной, которая находится в одной функции, в другую функцию как 3.0 - PullRequest
0 голосов
/ 18 февраля 2010

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

Ответы [ 2 ]

0 голосов
/ 09 июня 2011

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

Вот пример, который перебирает предоставленный массив и возвращает индекс первого совпавшего числа (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);
}
0 голосов
/ 18 февраля 2010

Я не совсем понимаю вас, пб, но 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() );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...