每天学一点flash(56)循环的小实验

本文讨论了As3编程中的一些高级技巧,包括界面与业务逻辑分离设计、循环控制及变量作用域等问题,并通过实例深入剖析。

今晚,跟暗酷这两个网友和Flashstatt一晚都是在讨论As3的内容。感觉到自己越来越笨,对于As3的设计,感觉到越来越有学问,而之前所学的仅仅是小问题而已。今晚和FlashStar 讨论了界面和业务逻辑分离设计问题,突然对这部分内容感觉到一片空白。实在有点可怕。还继续努力。

   今晚讨论的问题:在QQ界面里面,用于修改字体,颜色和发表情的功能栏 是如何影响输入框里面的字体和颜色呢? 如果需要进行设计?怎样设计好?

   今天的问题就是这样

  回归问题: 关于for循环如何打断循环,其实这个问题不算难。但是的确有一些意思 例如:创建一个As3 的文档,然后在里面看看输出的结果是什么?

  for(var i:int=0;i<4;i++) { var s:int=i; trace(s); } var j:int=s; trace("?"+j);

 结果发现了,trace的内容是?3

问题是:var 不是局部变量吗?是不是很奇怪?

function aa():void { for(var i:int=0;i<4;i++) { } for(var i:int=0;i<4;i++) { } }

输出的时候 这样的话,就提示 i重复定义了。 

function aa():void { for(var i:int=0;i<4;i++) { var s:int=i; } for(var i:int=0;i<4;i++) { s+=i; } trace(s); } aa(); 如果这样的话,就会输出了结果等于9 ---3+0+1+2+3=9.s就是同一个域里面

 只要在一个方法体内就是同一个东西。
 重复定义会覆盖。

for(var i:int=0;i<10;i++){ if(i==5){ break } trace(i) } 这个到了5会被打断。 

再看看下面,会输出多少?

for (var i:int=0; i<10; i++) { for (var j:int=0; j<10; j++) { if ((i==8)&&(j==0)) { break; } trace(10*i+j); } }

再看下面又会输出多少:

for (var i:int=0; i<10; i++) { for (var j:int=0; j<10; j++) { if ((i==8)&&(j==0)) { return; } trace(10*i+j); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值