一些不太常见的代码写法
先看一下下面的代码,看是否每个都知道是干什么的,稍后我再把每一个代码的作用帖上(注意,以下代码仅为示例,但大部分代码对于高手来说是不成问题的)
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.gotoAndPlay(Math.random()*10>>0);
Math.random()*10 取 10以内带小数的随机数。
>> 是移位符号 >>0 的功能去除小数点后的数!!(这个方法的确高明)
所以 Math.random()*10>>0 整句话的意思是 获取10以内的随机整数!
2、if(i&1){}
i&1 的意思就是判断 i是奇数还是偶数
如果是奇数 i 的2进制表示最后一位是1, i&1=1 真
偶数 i 的2进制表示最后一位是0, i&1=0 假。
3、var a:Array = new Array();
for (var i:int=0; i<10; a.push(i++)){
//....
}
此循环 执行后 a数组的值为 0,1,2,3,4,5,6,7,8,9.
一个简化程序的方法
能用上的地方有很多。。具体地方具体分析。。
4、var temp:Number=mouseX;
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
function moveHandler(e:MouseEvent):void {
var d:Number=(-temp+(temp=mouseX));
}
这段代码功能是 获取鼠标移动距离 d
用在鼠标拖拽窗体 或者鼠标拖拽游戏上 真是不要太爽!!!
代码完全可以改为
Mouse.hide();
var temp:Number=mouseX;
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
function moveHandler(e:MouseEvent):void {
var d:Number=(-temp+(temp=mouseX));
spriteMouse.x += d;
e.updateAfterEvent();
}
这样 spriteMouse 这个影片剪辑就成了一个鼠标
5、function fn1 () {
trace("1");
}
function fn2 () {
trace("2");
}
([fn1,fn2][Math.random()*2>>0])();
这个是随机执行函数的命令 挺有意思的
如 一个欢迎界面
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才执行右边的语句。另外还用到了逗号表达式,返回值为最
后一个逗号右边的语句的返回值。
分享到:
相关推荐
Spring思维导图分享,全是干货,思维导图带代码你们见过吗?
源代码是程序员用高级编程语言编写的文本文件,这些语言可能包括C++、Python、Java等。在这个案例中,由于没有指定编程语言,我们可以假设是常见的语言之一。五子棋游戏的源代码通常会涉及以下几个核心部分: 1. **...
在这个项目中,开发者遵循了一定的代码规范,使得代码更易读、易懂,这对于团队协作和代码维护至关重要。下面将详细阐述这个项目中涉及的知识点。 1. **代码规范**:良好的代码规范是任何开发项目的基石,它能提高...
以下是对这些知识点的详细说明: 1. **苏宁首页**:苏宁作为一个大型电商平台,其首页的设计至关重要。它需要吸引用户,提供清晰的导航,并展示各种商品和服务。这个项目可能包含了网页布局、响应式设计、交互元素...
淘宝店铺装修使用鼠标经过轮播代码,果断好用。
MyBatis思维导图
MyBatis思维导图 MyBatis是一个半自动的ORM(Object Relation Mapping)框架,用于简化Java应用程序中的数据访问。下面是MyBatis的思维导图: 一、MyBatis介绍 * MyBatis是一个半自动的ORM框架,需要手写SQL语句...
作者接手了这项任务,逐步将这些无意义的命名改为有意义的标识符,同时还得面对代码质量本身的问题,因为代码结构松散,类似于意大利面条式代码,进一步增加了理解难度。作者通过重构代码,使其更易于理解和提高效率...
本文介绍了 8 个你从未见过的,基于 HTML5 Canvas 和 JavaScript 的动画,这些令人难以置信的效果将使你对 HTML5 彻底折服。需要指出的是,这些都是浏览器的原生动画,无需任何插件。 比如:在格子中移动鼠标,颜色...
标题 "你见过粉色的蜜蜂吗???.zip" 和描述 "你见过粉色的蜜蜂吗???.zip" 在IT领域中并没有直接关联到任何特定的技术知识点,因为它们更像是一个趣味性的或引人好奇的话题,而非专业IT内容。不过,我们可以从这...
这对于解决“我在哪里见过这个函数?”或者“哪个地方用到了这个变量?”的问题至关重要。高级的搜索工具还会提供正则表达式支持,使搜索更加精确和灵活。 其次,替换功能也是代码搜索工具的一大亮点。开发者可以一...
这一步确保模型在未见过的数据上也能表现良好,防止过拟合。 5. 毕业论文代码:这可能意味着这些代码是某位学生研究工作的一部分,可能包含详细的研究背景、问题阐述、方法介绍以及实验结果分析。阅读这部分代码,...
训练数据用于拟合模型,测试数据则用于评估模型的泛化能力,即在未见过的数据上的预测效果。 4. elm_train_predict.zip 此文件可能包含ELM模型的训练和预测过程。在训练阶段,代码会读取训练数据,初始化网络,然后...
标题“cCode:给你看个demo,怕你没见过C代码”暗示我们将要探讨的是一个C语言的示例代码。描述中的内容与标题相呼应,同样强调了C代码的展示。 C语言以其简洁、高效和可移植性而著名。它的语法结构清晰,允许程序员...
自己写的代码乱了头绪的确实也见了不少。我们应该做的就是规范开发,减少自己出现的错误。很多时候项目的压力一部分也是由于前期开发中遗留的众多的问题。 还有的人觉得自己可以完成高难度的算法,就认为自己能力很...
《华为内部代码规范》是华为公司为提升软件开发质量、增强代码可读性和维护性而制定的一套详尽的编程准则。这套规范不仅涵盖了编程语言的基本语法和风格,还涉及了设计模式、错误处理、注释规则、版本控制等多个方面...
姑且叫写代码吧,如果你有一个可以重新来过,重头开始写代码的机会,不要放过,免得你后悔一万年。面对这样的机会,别急着写第一行代码,而是在心中打腹稿,与用户交流,多听,多问,多记,构思框架,如果觉得有东西...
这有助于了解模型在未见过的数据上的表现,并根据结果调整模型参数。 最后,模型保存与加载是确保训练成果可复用的重要环节。在UDLDL课程的代码中,会教授如何将训练好的模型保存为文件,以及在后续任务中如何加载...
【描述】:“你们见过世界上10最牛X掩码?”这里的“掩码”在编程语境中通常指的是位掩码,一种通过位运算来标记或筛选数据的技术。掩码可以用于处理二进制数据,比如在操作系统中控制权限设置,或者在网络编程中...
可参考视频会议开源代码,这个代码是我见过最好的,也是在csdn里花10积分下载的,特次再10分奉送给大家,希望大家把这个视频会议开源代码发扬光大