一些不太常见的代码写法
先看一下下面的代码,看是否每个都知道是干什么的,稍后我再把每一个代码的作用帖上(注意,以下代码仅为示例,但大部分代码对于高手来说是不成问题的)
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分奉送给大家,希望大家把这个视频会议开源代码发扬光大