如 一个欢迎界面 function fn1 () { trace("你来啦欢迎啊"); } function fn2 () { trace("来了你别走啊 "); } function fn3 () { trace("你这么才来啊"); } function fn4 () { trace("就猜到你要来"); } ([fn1,fn2,fn3,fn4][Math.random()*4>>0])(); 6、 var a:int=3; if (a>0&&(trace("a is positive number"),a&1)) trace("a is positive odd number");
先执行a>0 真 再执行 trace("a is positive number") 最后判断a是不是奇数 这里的逗号表达式是从左向右执行的。
此用法主要 用来判断有没有执行某处语句 吧
7、 var a:int=13; var b:int=-12; if((a^b)>0||(b*=-1,a>10)) trace(b);
又是一个逗号表达式 a^b = -7 b*=-1 b=12 a>10 输出 b=12 此用法看的莫名其妙 真不知道应该用在什么地方 哈哈~ /// 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才执行右边的语句。另外还用到了逗号表达式,返回值为最 后一个逗号右边的语句的返回值。