AS3一些不太常见的代码写法
2009-09-09 11:34
204 查看
1、把:
//mc跳转到10以内的随机帧
mc.gotoAndPlay(Math.floor(Math.random()*10));
写成:
mc.gotoAndPlay(Math.random()*10>>0);
//大多数人都会用Math.floor()来取整,>>是位移符号,>>0就是去除小数点之后的数,用此方法来取整真是即方便又强悍。
2、把:
if(i%2==1){}//判断如果i是奇数,执行大括号中的语句
写成:
if(i&1){}
//i&1就是判断i是否是奇数,而思想就是以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”);
//这个我想应该很多人都会写,多重IF的简写,&&左边的语句返回true时才执行右边的。
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);
//跟上一例一样,||的左边语句要返回false时才执行右边的语句,另外,逗号表达式的返回值是最后一个逗号右边语句的返回值。
//mc跳转到10以内的随机帧
mc.gotoAndPlay(Math.floor(Math.random()*10));
写成:
mc.gotoAndPlay(Math.random()*10>>0);
//大多数人都会用Math.floor()来取整,>>是位移符号,>>0就是去除小数点之后的数,用此方法来取整真是即方便又强悍。
2、把:
if(i%2==1){}//判断如果i是奇数,执行大括号中的语句
写成:
if(i&1){}
//i&1就是判断i是否是奇数,而思想就是以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”);
//这个我想应该很多人都会写,多重IF的简写,&&左边的语句返回true时才执行右边的。
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);
//跟上一例一样,||的左边语句要返回false时才执行右边的语句,另外,逗号表达式的返回值是最后一个逗号右边语句的返回值。
相关文章推荐
- as3中一些不太常见的代码写法
- AS3一些不太常见的代码写法
- 一些常见的问题与解决代码!(精典) 2
- web设计中关于首页代码一些规范写法
- 一些比较简单的存储过程的代码,主要是本人对这个东西不太熟,特地写下来!
- 网页中一些常见的问题与javascript解决代码
- Java代码规范和一些常见问题
- svn(subversion)代码版本管理在linux下的一些常见使用命令
- 一些常见的C#代码收集站点(牛)
- 一些常用的AS3代码[转]
- 动态SQL语句的一些常见写法
- 一些常见的问题与解决代码!(精典) 3
- AS3 Code Optimization一些代码优化的
- 一些常见的JS表单验证代码
- .NET中一些常见代码的性能问题
- php代码的一些高效写法
- HTTP协议中常见请求方法以及一些常见错误代码
- 一些常见的问题与解决代码!(一)
- 一些常见的问题与解决代码!(精典) 4
- 一些页面常见的问题与解决代码