`

AS3一些不太常见的代码写法

 
阅读更多

今天收集来了一些高手们的代码写法,可以看成是某些语法的简写,但除此之外,还包含了高手们强悍的思想。我先把代码帖出来,稍后再把代码的解释发出来。

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);
//大多数人都会用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 多元件添加删除方法

    我是会员,也下了很多资源,为了贡献csdn,让更多的人可以... 现在我贡献下写法,希望可以帮助as3的新人。 源代码可以打开直接看,也可以用fb 导入工程看效果。 导入时,请将swc文件载入下,否则无法调用 按钮文件。

    javascript下with 的简化代码写法

    在下面的例子中,请注意 Math 的重复使用: x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10) y = Math.tan(14 * Math.E) 当使用 with 语句时,代码变得更短且更易读: 代码如下: with (Math){ x = cos(3 * PI) + ...

    sql操作代码,工具书使用的参考语句,都是固定写法,需要的时候可以拿出来查找。

    SELECT column_name AS column_alias FROM table_name --对表名进行重命名 SELECT column_name FROM table_name AS table_alias BETWEEN...AND... 在某个区间 SELECT column_name(s) FROM table_name WHERE ...

    javascript中函数的写法实例代码详解

    具体代码如下所述: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt; &lt;meta ...

    浅谈BaseActivity的进阶写法,基础框架的搭建,促使我们更高效便捷开发

    AB端外加两个基础打印项目共4个,4个项目用了3个不同的网络访问风格和代码风格,最让我哭笑不得的是只有一个界面的打印项目还运用的 MVP 写法,在看项目base基本无封装,无共用代码块,再改了几个需求终觉得不可忍受...

    Python基于YOLOv5的交通标志识别系统源码

    代码写法上来值得注意的有这几处: 1 首先有 focus 层,对输入图片slice, 把feature map减小增加channel 后面计算速度会快。 2 构建模型(parse_model) 在yolo.py 里面,用一个数组(ch) 存储了每层的输出channel, ...

    转换科学计数法的数值字符串为decimal类型的方法

    代码如下: select cast('0.12' as decimal(18,2)); select convert(decimal(18,2), '0.12'); 当需要将科学计数法的数字字符串转换成decimal时,这2种写法都报错: msg 8114, level 16, state 5, line 1 error ...

    pytorch实现特殊的Module–Sqeuential三种写法

    我就废话不多说了,直接上代码吧! # -*- coding: utf-8 -*- #@Time :2019/7/1 13:34 #@Author :XiaoMa import torch as t from torch import nn #Sequential的三种写法 net1=nn.Sequential() net1.add_module('...

    javascript 处理事件绑定的一些兼容写法

    绑定事件 代码如下: var addEvent = function( obj, type, fn ) { if (obj.addEventListener) obj.addEventListener( type, fn, false ); else if (obj.attachEvent) { obj[“e”+type+fn] = fn; obj.attachEvent( ...

    javascript中递归的两种写法

    话不多说,请看代码 function addd(n){ if(n==1){ return 1; } return n*addd(n-1); } function add(n){ var num=1; for(var i=1;i&lt;n;i++){ num=num*i; } return num; }

    由回调函数、Promise到async/await的同步写法执行异步代码

    由回调函数、Promise到async/await的同步写法执行异步代码 同步异步是前端面试中经常遇到的问题,虽然不难,但是搞清楚两者之间的关系和转换还是很重要 同步 同步是一种线性执行的方式,执行的流程不能跨越,其后的...

    greensock包类插件最新版本与收费插件(TweenMax缓动类)

    以前一直想用代码操作动态文本里所有字出现的特效,而不用在一个字一个字的去操作,没想到用这个插件实现了,官方提供了3种字出现时的特效,文本里的字出现的效果都是不一样的,若自己的代码编写能力强,可以扩展...

    关于MYSQL中每个用户取1条记录的三种写法(group by xxx)

    今天以前的同学问我关于这方面的SQL语句,我特意记忆一下,毕竟这个也比较常见了 代码如下:select * from (select * from member_payment order by id desc) t group by member_id limit 10第一种是先排序,然后...

    使用JavaScript switch case 另类写法

    习惯了C#的语法,遇到多分支调用的情况,除了最简单的if-else,那么就是switch-case了,... //… } 这样的代码本身也没什么,只是可读性差一些,看起来有点费劲,JavaScript虽然支持switch-case,不过有一种更好的写法

    MySQL中视图的使用及多表INNER JOIN的技巧分享

    这里使用了3表关联,对于多表关联的 INNER JOIN 写法有一个技巧 1. 先写最简单的2表关联 INNER JOIN 2. 然后使用 () 从 FROM 之后到语句结尾全部扩起来 3. 在语句结尾开始连接与下一个表的 INNER JOIN 记住这个原则...

    Javascript匿名函数的一种应用 代码封装

    在一些Javascript库中可以看见这种写法: 代码如下: (function(){ //所有库代码代码 })(); 说实话,对于js初学者的我来说。这个东西太吓人了,在这些JS库中,这个函数基本上把整个库的所有代码全括起来了,这种写法...

    sqlserver分页的两种写法分别介绍

    第一种是最传统的写法,用存储过程中的变量作为分页的乘数 代码如下: [c-sharp] view plaincopyprint?create proc p_paged1 @pageSize int,@currentPage int as select top (@pageSize) * from student where id not...

    PowerShell脚本trap语句捕获异常写法实例

    先看一个脚本文件:3.three.test.ps1 代码如下: Get-FanBingbing #命令不存在 然后这样捕获: 代码如下: trap [exception] {  ‘在trap中捕获到脚本异常’  $_.Exception.Message  continue } .\3.three.test....

    ci框架快速开发PHP应用

    介绍CI框架的结构和一些使用说明 想像你正在写一个MySQL数据库查询。 可能的代码如下: PHP $connection = mysql_connect("localhost","fred","12345"); mysql_select_db("websites", $connection); $result = ...

    一文搞懂c# await,async执行流

    昨天有朋友在公众号发消息说看不懂await,async执行流,其实看不懂太正常了,因为你没经过社会的毒打,没吃过牢饭就不知道自由有多重要,没生过病就不知道健康有多重要,没用过ContinueWith就不知道await,async有多...

Global site tag (gtag.js) - Google Analytics