[转]一些不太常见的代码写法(AS3.0)

本文介绍了一些不常见的 AS3.0 编程技巧,包括使用位运算符简化条件判断、利用短路运算符合并多个条件判断、以及通过特殊语法减少代码量等。这些技巧有助于提高代码效率。
一些不太常见的代码写法(AS3.0)
本文作者:dmh2002 发布于:2008-7-27 分类:AS3 经验/技巧/游戏 点击:311

一些不太常见的代码写法

写法:


1、

mc.gotoAndPlay(Math.random()*10>>0);

2、
if(i&1){}

3、
for (var i:int=0; i<10; a.push(i++));

4、
var temp:Number=mouseX;
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
function moveHandler(e:MouseEvent):void {
var d:Number=(-temp+(temp=mouseX));
}

5、

function fn1 () {
trace("1");
}
function fn2 () {
trace("2");
}
([fn1,fn2][Math.random()*2>>0])();

6、

var a:int=3;
if (a>0&&(trace("a is positive number"),a&1))
trace("a is positive odd number");

7、
var a:int=13;
var b:int=-12;
if((a^b)>0||(b*=-1,a>10))
trace(b);

分析:


1、把:
//mc跳转到10以内的随机帧
mc.gotoAndPlay(Math.floor(Math.random()*10));
写成:
mc.gotoAndPlay(Math.random()*10>>0);

2、把:
if(i%2==1){}//判断如果i是奇数,执行大括号中的语句
写成:
if(i&1){}

3、把:
//给一个数组压入10以内的整数
var a:Array=[];
for (var i:int=0; i<10; i++) {
a.push(i);
}
写成:
//for语句后如果有一行代码要执行,可以省去大括号,这里只用分号相当于执行空语句
for (var i:int=0; i<10; a.push(i++));

4、把:
//计算鼠标移动的水平速度
var temp:Number=mouseX;
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
function moveHandler(e:MouseEvent):void {
var d:Number=mouseX-temp;
temp=mouseX;
}
写成:
var temp:Number=mouseX;
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
function moveHandler(e:MouseEvent):void {
var d:Number=(-temp+(temp=mouseX));
}

5、把:
//随机运行几个函数中的一个
function fn1 () {
trace("1");
}
function fn2 () {
trace("2");
}
var a:Array=[fn1,fn2];
var b:int=Math.random()*2>>0;
a[b]();
写成:
function fn1 () {
trace("1");
}
function fn2 () {
trace("2");
}
([fn1,fn2][Math.random()*2>>0])();

6、把:
//多重条件语句
var a:int=6;
if (a>0) {
trace("a is positive number");
if (a&1) {
trace("a is positive odd number");
}
}
可以写成:
var a:int=3;
if (a>0&&(trace("a is positive number"),a&1))
trace("a is positive odd number");

7、把:
var a:int=13;
var b:int=-12;
if (!((a^b)>0)) {
b*=-1;
}
if ((a^b)>0||a>10) {
trace(b);
}
写成:
var a:int=13;
var b:int=-12;
if((a^b)>0||(b*=-1,a>10))
trace(b);

6和7主要用到了&&和||是短路运算符。&&之左的语句返回true才执行右边的语句。
||之左的语句返回false才执行右边的语句。另外还用到了逗号表达式,返回值为最
后一个逗号右边的语句的返回值。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值