Flex中方法调用顺序的思考

本文通过一个Flash实例展示函数调用顺序与执行顺序的区别。使用ActionScript编程,通过设置不同间隔时间的定时器,观察函数的实际执行顺序,并非完全遵循调用顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[flash=200,200]http://dl.iteye.com/topics/download/27a92543-9a9a-3f01-bd04-4f10b4258ab8[/flash]

通过这个例子是不是可以说:[color=red]函数的调用顺序不一定决定函数的执行顺序.[/color]


<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
/* */
import flash.utils.*;
private var id1:uint;
private var id2:uint;
private var id3:uint;
private function reset_textarea():void
{
textarea.text = "";
}

private function start_textarea():void
{
id1 = flash.utils.setInterval(fun1,1000);
id2 = flash.utils.setInterval(fun2,950);
id3 = flash.utils.setInterval(fun3,850);
}
private function stop_textarea():void
{
clearInterval(id1);
clearInterval(id2);
clearInterval(id3);
}
/* demo function defined */
private function fun1():void
{
if(textarea.text!=null)
{

textarea.text = textarea.text+"fun1()";
}
}

private function fun2():void
{
if(textarea.text!=null)
textarea.text = textarea.text + "fun2()";
}

private function fun3():void
{
if(textarea.text!=null)
textarea.text = textarea.text + "fun3()\r\n";
}
]]>
</fx:Script>
<s:Panel x="227.6" y="164.45" width="500" height="291" title="ActionScript函数调用顺序演示">
<s:TextArea id="textarea" x="101" y="10" editable="false" width="304" height="149">

</s:TextArea>
<s:Button label="Start" x="96" y="226" click="start_textarea()"/>
<s:Button label="clear" x="335" y="227" click="reset_textarea()"/>
<s:Button label="Stop" x="219" y="228" click="stop_textarea()"/>
</s:Panel>
</s:Application>



[url]http://eric-616.iteye.com/blog/694555[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值