注册
 找回密码
 注册
江西广告网
查看: 290|回复: 0
打印 上一主题 下一主题

flash action 详解(6)

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-1-22 16:54:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
第 3 章: 条件和循环--综述 Actions cript 的条件和循环语句有 if, else, else if, for, while, do...while, for...in 和tch. 在 中它们被叫做流程控制动作(Action), 但实际上, 其实质与其它程序语言没什么不一样的. 因为条件和循环语句是程序语言中最基础的, 也是最具有实用价值的语句, 所以要在这里仔细讲解一下. 对于有 C 和 Java 等编程经验的读者随意浏览一下就可以了. 条件语if句--if 可以说是程序语言中最基本的条件判断语句. 无论在任何语言中都有它的身影. 由下面的例子可以了解它的格式: name = "SiC"; //下面是 if 语句 if(name == "SiC"){ trace("作者"); } if 语句通过判断其后圆括号内的逻辑表达式是否为 true 来确定是否执行大括号内的语句. 假如逻辑表达式 name == "SiC" 返回值为真, 就在输出窗口(Output Window)内显示"作者", 否则就不执行. 然后让我们设想一下下面例子的效果: if(1){ trace("总是执行"); } 如果你还记得前面数据类型的内容, 那么应该可以看出, 这时的 if 语句基本上是多余的, 因为对于常量 1, 逻辑表达式的值恒为 true(其实 1 就是逻辑值 true 的数值表示形式). 但对于常量 0, 则永远为 false. 你可以试试把上例中的 1 改成一个字符串常量(例如 "hi!")看看会有什么效果. 再看一个例子: name = "SiC"; //下面是 if 语句 if(name = "SiC"){ trace("作者"); } 比较一下看这个例子与第一个例子有什么不同? 不同之处就在于第一个用了 ==, 而这个用了 =. 对于这个例子, if 的判断永远为 true. 想想为什么? 问题就在于使用了赋值运算符 = 而不是逻辑运算符 ==. 对于赋值运算, 其返回的逻辑值总是 true. 这也是初学者常犯的错误. 一定要注意区分赋值运算符 = 和逻辑运算符 ==. 否则你会遇到一些莫名其妙的错误和问题, 而且语法检查也找不出错误(因为赋值运算表达式也是有效的条件表达式). 所以请记住, Actions cript 的相等逻辑运算符是 == 而不是 =. if...else 假如想要在判断条件不成立时执行另一项操作时怎么办? 很简单, 在 if 语句后面加上个 else 语句块就可以了: name = "未知"; //下面是 if...else 语句 if(name == "SiC"){ trace("作者"); } else { trace("未知"); } 很简单吧? 只要把在判断结果为假时要执行的语句放在 else 后的大括号里就行了. if...else if 如果要进行很多个条件判断怎么办? 也好办, 用 else if 解决: name = "Sam"; //下面是 if...else if 语句 if(name == "SiC"){ trace("作者"); } else if(name == "Flash MX") { trace("Flash MX 是软件名称."); } else if(name != "未知") { trace("谁是 " name "?"); } else { trace("未知"); } 你可以接任意多个的 else if 来进行多个条件的判断, 最后的 else 语句块可有可无(根据实际需要选用). 唯一不足的就是 else if 太多时执行速度较慢(在其它程序语言中也是一大问题). 这时就轮到tch 出场了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表