Apache flex 在函数之间传递值
大家好,有没有办法在函数中局部定义一个变量,然后将其传递给oher函数。我的意思是说,是否有可能将一个局部值从一个函数传递到另一个函数。 有人请给我建议解决办法。Apache flex 在函数之间传递值,apache-flex,actionscript-3,actionscript,flex3,Apache Flex,Actionscript 3,Actionscript,Flex3,大家好,有没有办法在函数中局部定义一个变量,然后将其传递给oher函数。我的意思是说,是否有可能将一个局部值从一个函数传递到另一个函数。 有人请给我建议解决办法。 提前感谢或者就这么简单,或者你的意思是: private function function1():void { var localVariable:String = "this is local variable of function1()"; function2(localVariable); } privat
提前感谢或者就这么简单,或者你的意思是:
private function function1():void
{
var localVariable:String = "this is local variable of function1()";
function2(localVariable);
}
private function function2(string:String):void
{
trace(string);
}
function1();
或使用全局变量作为临时存储:
private var globalVariable:String = "";
private function function1():void
{
var localVariable:String = "this is local variable of function1()";
globalVariable = localVariable;
}
private function function2():void
{
trace(globalVariable);
}
function1();
function2();
或者就这么简单,或者你的意思是:
private function function1():void
{
var localVariable:String = "this is local variable of function1()";
function2(localVariable);
}
private function function2(string:String):void
{
trace(string);
}
function1();
或使用全局变量作为临时存储:
private var globalVariable:String = "";
private function function1():void
{
var localVariable:String = "this is local variable of function1()";
globalVariable = localVariable;
}
private function function2():void
{
trace(globalVariable);
}
function1();
function2();
zdmytriv是对的
尽管如此,您也可以创建默认变量,如下所示:
修改zdmytriv的代码
private function function1():void
{
var localVariable:String = "this is local variable of function1()";
function2(localVariable);
function2(); //You don't have to enter a default argument
}
private function function2(string:String = "something else"):void
{
trace(string);
}
这将追溯到:
this is local variable of function1()
something else
test
new value
有点离题,但很高兴知道。zdmytriv是对的
尽管如此,您也可以创建默认变量,如下所示:
修改zdmytriv的代码
private function function1():void
{
var localVariable:String = "this is local variable of function1()";
function2(localVariable);
function2(); //You don't have to enter a default argument
}
private function function2(string:String = "something else"):void
{
trace(string);
}
这将追溯到:
this is local variable of function1()
something else
test
new value
有点离题,但很高兴知道。Flex中的原语是按值传递的,而复杂对象是按引用传递的。您可以使用它来传递对象,而不必在函数本身之外限定变量的范围。例如:
private function function1():void {
{
var localVar:Object = {value:"test"};
trace(localVar.value);
function2(localVar);
trace(localVar.value);
}
private function function2(obj:Object):void
{
obj.value = "new value";
}
这将追溯到:
this is local variable of function1()
something else
test
new value
这反映了function2通过引用接收参数obj,作为指向原始localVar对象的指针。当它设置.value字段时,该更改将反映在function1中
我只是想指出这一点。Flex中的原语是按值传递的,而复杂对象是按引用传递的。您可以使用它来传递对象,而不必在函数本身之外限定变量的范围。例如:
private function function1():void {
{
var localVar:Object = {value:"test"};
trace(localVar.value);
function2(localVar);
trace(localVar.value);
}
private function function2(obj:Object):void
{
obj.value = "new value";
}
这将追溯到:
this is local variable of function1()
something else
test
new value
这反映了function2通过引用接收参数obj,作为指向原始localVar对象的指针。当它设置.value字段时,该更改将反映在function1中
我只是想指出这一点。嗨,zdmytriv,是的,这就是我想要的解决方案。。非常感谢。!!嗨,zdmytriv,是的,这就是我想要的解决方案…非常感谢。!!Thanx Pipep用于此类nic解释。Thanx Pipep用于此类nic解释。