`

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时才执行右边的语句,另外,逗号表达式的返回值是最后一个逗号右边语句的返回值。

分享到:
评论

相关推荐

    关于代码的写法的一些小建议

    以下是一些关于代码写法的小建议,涵盖了设计原则和编码实践: **设计方面:** 1. **抽象类不应该声明构造方法** - 抽象类的存在是为了被继承,它们通常不应有实例化的需求,因此不需要构造方法。如果需要初始化,...

    Net与Java常用代码写法对比.pdf

    本篇主要对比了这两种语言在字符串操作、类型转换、枚举处理以及一些其他常见代码写法上的差异。 **1. 字符串操作** 在字符串处理方面,Net 和 Java 提供了相似但不尽相同的方法。例如: - Net 中判断字符串是否...

    Net与Java常用代码写法对比.docx

    在.NET和Java编程中,有一些常见的代码写法差异,这些差异主要体现在语法、类型转换、枚举处理、字符串操作以及泛型集合的使用上。以下是对这两种语言在这些方面的对比和详细解释: 1. **字符串操作** - .NET中的`...

    HQL的几钟常见写法

    ### HQL的几种常见写法 #### 概述 HQL(Hibernate Query Language)是Hibernate框架提供的一种查询语言,它支持面向对象的语法结构,并且能够很好地与Java对象模型进行映射。通过HQL,开发者可以更加灵活地操作...

    张志晨之flash AS3 实用代码://过滤文字输入:

    ### 张志晨之Flash AS3实用代码:过滤文字输入 在Adobe Flash Professional与ActionScript 3.0(简称AS3)开发环境中,文本输入控制是实现用户交互的关键环节之一。通过对TextField对象的`restrict`属性进行设置,...

    as3 多元件添加删除方法

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

    Excel-VBA宏编程实例源代码-省去引数的写法.zip

    在Excel VBA(Visual Basic for Applications)编程中,"省去引数的写法"是一种优化代码、提高效率的方法。这种技术主要适用于那些不需要在每次调用时都提供具体值的函数或子程序。在VBA中,我们可以通过定义默认...

    Python-pythonrequests源码阅读学习更pythonic的python代码写法

    虽然`requests`库本身不直接支持异步操作,但通过结合`asyncio`库或第三方库如`aiohttp`,可以实现异步请求。 通过深入研究`requests`库的源码,我们不仅可以了解HTTP通信的细节,还能学习到如何编写更pythonic的...

    分页代码,实现分页的两种写法

    在给定的JSP代码中,我们可以通过以下几个步骤来理解其实现过程: 1. **定义变量**: - `intpagesize`:每页显示的记录数。 - `introwcount`:总记录数。 - `intpagecount`:总页数。 - `intpage`:当前页码。 ...

    存储的第一种写法及Asp.net代码

    存储过程的“第一种写法”通常指的是创建一个基本的存储过程,用于执行常见的数据库操作,如插入、更新或查询数据。下面是一个简单的示例,展示了一个用于插入数据的存储过程: ```sql CREATE PROCEDURE ...

    Group BY 的另一种写法

    由于没有提供具体的博客内容,以上分析是基于常见的SQL查询优化技术和`GROUP BY`的替代写法进行的推测。在实际阅读博客或文档(如`大数据量分组.doc`)时,应能获取更详细的信息和具体案例。通过深入学习这些内容,...

    存储过程的写法大全

    ### 存储过程的写法大全 #### 一、存储过程概述 存储过程是一种预编译的SQL代码块,它可以包含一系列SQL语句,并在数据库服务器上存储为一个对象。当需要执行这些语句时,只需调用该存储过程的名字即可。这种方式...

    IE、FF的JS兼容写法

    在JavaScript编程中,IE(Internet Explorer)和FF(Firefox)是两种主要的浏览器,它们对JS(JavaScript)的实现存在一些差异,导致某些代码在其中一个浏览器中可能无法正常工作。这篇博客文章“IE、FF的JS兼容写法...

    flex as3 元数据标签综合

    ### Flex AS3 元数据标签综合解析 #### 一、元数据标签概述 ...通过上述介绍,我们可以看出Flex AS3中的元数据标签具有丰富的功能,可以帮助开发者更加灵活地控制代码的行为,提高程序的可维护性和扩展性。

    AS练习自定义包或类及引用

    在Android Studio(简称AS)开发中,自定义类和包是提升代码组织性和复用性的关键步骤。本练习旨在帮助开发者掌握如何在项目中创建、使用自定义类和包,以及如何正确引用它们。让我们详细探讨这个主题。 首先,...

    存储过程写法,存储过程

    3. **代码重用性好**:编写一次存储过程可以在多处调用,提高了代码的可维护性和可重用性。 4. **安全性强**:可以通过存储过程限制对敏感数据的访问,防止直接操作表导致的安全问题。 ### 三、存储过程的创建与...

    SqlServer触发器写法案例

    ### SqlServer触发器详解与案例分析 #### 一、触发器概述 触发器是一种特殊类型的存储过程,它被定义为当特定的事件(如...合理使用触发器可以帮助我们在不增加额外编程负担的情况下,轻松实现复杂的数据逻辑处理。

    flash小球缓动的实例以及源代码

    在本文中,我们将深入探讨“Flash小球缓动的实例以及源代码”这一主题,它是一种常见的动画技术,常用于创建动态且引人入胜的交互式用户体验。这个实例展示了如何利用Adobe Flash来设计一个简单但有趣的小球移动效果...

    Excel VBA SQL 语句 范例

    这个 SQL 语句将从 Master 页中提取所有行记录,其中 ItemCode 字段左边六位字符值、U_Cat1 字符值、U_Cat2 字符值和 U_Cat3 右边两位数字值不相同的行记录。最后,我们可以使用以下代码来将结果复制到 Sheet2 页中...

    sql中with as的应用整理

    如果不使用`WITH AS`,查询语句可能像这样: ```sql SELECT * FROM Person.StateProvince WHERE CountryRegionCode IN ( SELECT CountryRegionCode FROM Person.CountryRegion WHERE Name LIKE 'C%' ); ``` ...

Global site tag (gtag.js) - Google Analytics