`
lixinye0123
  • 浏览: 323353 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

1.9. 执行条件语句

阅读更多

1.9. 执行条件语句
问题
我要当满足某些条件时才执行一些命令
解决办法
使用 if 或 switch 语句
讨论
我们经常需要让代码去有选择性的执行,这时可以使用 ActionScript 中的条件语句 if, switch, 或 三元条件运算符 (? :).
条件语句允许我们做出逻辑判断,某种情况下应该做什么。if语句是最简单的判断语句,当我们遇到多个可能的情况要处理,这时用switch更好些。而三元条件运算符是把检测和赋值都放在一行中搞定,简化操作。
首先我们来看一下if 语句, if 语句以if关键字开头,接着跟一对括号,括号内为测试表达式,后面的大括号放入测试表达式成立时要执行的代码。
下面的代码检测 animalName 是否等于"turtle."
if (animalName == "turtle") {
  // 如果相等 trace(  ) 语句将被执行
  trace("Yay! 'Turtle' is the correct answer.");
}
另外还可以加上 else 子句来处理当测试表达式不满足时的情况,要注意的是要看到trace()输出的信息则必须让程序在debug模式下运行。我们把输出信息放到showMessage( ) 方法里,这样这个函数就可以被重用了
if (animalName == "turtle") {
  // 条件为真则执行
  showMessage("Yay! 'Turtle' is the correct answer.");
}
else {
  // 条件为假
  showMessage("Sorry, you got the question wrong.");  
}
还可以加入else if 子句,如果 if 条件为真则跳过 else if 子句,如果为假则继续判断 else if 字句是否为真
if (animalName == "turtle") {
  // 条件为真则执行
  showMessage ("Yay! 'Turtle' is the correct answer.");
}
else if (animalName == "dove") {
  //animalName == "dove"成立则执行
  showMessage ("Sorry, a dove is a bird, not a reptile.");
}
还可以包含更多的 else if 子句,然而这种情况,最好的办法就是采用 switch 语句代替,因为switch 与 if 语句结构更加清晰和简洁。 但在某些特殊场合,用 if 可以达到优化性能的目的。
switch 语句包含三部分:

switch 关键字
每个switch 语句都以switch 关键字开始

测试表达式
测试表达式被括号包围,它的结果将决定执行哪段代码。

switch 语句主体
主体中一般包含多个cases子句或一个default 子句

Case 表达式
case表达式将和 switch 表达式进行比较,如果相等就执行当前case的主代码。.

Case 主体y
当所有的case表达式都不等于switch表达式,将执行default主体。
switch (testExpression) {
  case caseExpression:
    // case body
  case caseExpression:
    // case body
  default:
    // case body
}

例子:
var animalName:String = "dove";

switch (animalName) {
  case "turtle":
    trace("Yay! 'Turtle' is the correct answer.");
  case "dove":
    trace("Sorry, a dove is a bird, not a reptile.");
  default:
    trace("Sorry, try again.");
}
一般情况下,在每个case主体最后都会加上 break 语句,这样执行完就会直接退出switch语句。

var animalName:String = "dove";
 
// 现在第2个case主体将被执行
switch (animalName) {
  case "turtle":
    trace("Yay! 'Turtle' is the correct answer.");
    break;
  case "dove":
    trace("Sorry, a dove is a bird, not a reptile.");
    break;
  default:
    trace("Sorry, try again.");
}
当有多个匹配但是执行代码是一样的,这时可以这么写:
switch (animalName) {
  case "turtle":
  case "alligator":
  case "iguana":
    trace("Yay! You named a reptile.");
    break;
  case "dove":
  case "pigeon":
  case "cardinal":
    trace("Sorry, you specified a bird, not a reptile.");
    break;
  default:
    trace("Sorry, try again.");
}
ActionScript 还支持三元条件运算符 (? :), 它把条件测试和赋值语句都放在一行完成。总共有3个操作数,第一个是条件表达式,如果为真,则取第二个操作数为结果,否则去第三个操作数为结果。
               varName = (conditional expression) ? valueIfTrue : valueIfFalse; 

分享到:
评论

相关推荐

    actionscript cook book 中文版

    1.9. 执行条件语句 15 1.10. 执行复杂的条件语句 17 1.11. 某段时间重复执行一种操作 19 1.12. 长时间执行一个任务 20 1.13. 创建可重用代码 22 1.14. 增强代码可重用能力 24 1.15. 从方法中退出 24 1.16. 获得方法...

    Python基础教程(第3版)-201802出版-文字版

    10 1.9 保存并执行程序 ...................................... 10 1.9.1 从命令提示符运行 Python脚本 .............................................. 12 1.9.2 让脚本像普通程序一样 ............... 12 1.9.3...

    MySQLDBA运维笔记.pdf

    mysql 总结........................................................................................................................................6 1.1 数据库的种类.......................................

    Oracle从入门到精通

    1.3、基本的SQL SELECT 语句................................ 1.4、SELECT语句........................................... 1、语法:................................................. 2、SQL语句说明:..........

    微软 C#语言参考 CHM格式

    8.11 checked和unchecked语句... 159 8.12 lock语句... 159 9. 名称空间... 161 9.1 编译单元... 161 9.2 名称空间声明... 161 9.3 使用指示... 162 9.3.1 使用别名指示... 163 9.3.2 使用名称空间指示... 165 9.4 ...

    IBM大型机汇编语言

    1.4 主机环境下汇编语言源程序→可执行模块流程 ........................................................... 9 1.5 什么是主程序?什么是子程序? ...............................................................

    C#语言规范(4.0版本)

    1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 33 2.2.1 文法表示法 33 2.2.2 词法文法 34 2.2.3 句法文法 34 2.3 词法分析 34 2.3.1 行结束符 35 2.3.2 注释 35 2.3.3 ...

    微软C#语言规范,C#语言教程中文版

    1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 33 2.2.1 文法表示法 33 2.2.2 词法文法 34 2.2.3 句法文法 34 2.3 词法分析 34 2.3.1 行结束符 35 2.3.2 注释 35 2.3.3 ...

    C#语言规范4.0

    1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 33 2.2.1 文法表示法 33 2.2.2 词法文法 34 2.2.3 句法文法 34 2.3 词法分析 34 2.3.1 行结束符 35 2.3.2 注释 35 2.3.3 ...

    C#_语言规范_4.0_中文版

    1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 33 2.2.1 文法表示法 33 2.2.2 词法文法 34 2.2.3 句法文法 34 2.3 词法分析 34 2.3.1 行结束符 35 2.3.2 注释 35 2.3.3 ...

    C#语言规范(2.0,3.0,4.0合集)

    1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 33 2.2.1 文法表示法 33 2.2.2 词法文法 34 2.2.3 句法文法 34 2.3 词法分析 34 2.3.1 行结束符 35 2.3.2 注释 35 2.3.3 ...

    C# 使用方法 入门教程

    2.5.1 条件语句..... 39 2.5.2 循环..... 43 2.5.3 跳转语句..... 46 2.6 枚举...... 47 2.7 数组...... 49 2.8 命名空间...... 50 2.8.1 using语句..... 51 2.8.2 命名空间的别名..... 52 2.9 Main()方法...... 53 ...

    c#3.0语言规范高清PDF

    1.5 语句 ............................................................................................................................................................. 8 1.6 类和对象 .....................

    db2数据库入门教程(官方中文版)

    1.9相关免费软件................................................................................................................17 1.9.1 IBM数据工作室(Data Studio)......................................

    db2数据库入门官方教程(中文版)

    1.9相关免费软件................................................................................................................17 1.9.1 IBM数据工作室(Data Studio)......................................

    db2-技术经验总结

    1.63. 可使用VALUES 来代替多个[not] in的条件语句 87 1.64. 计算数据库缓冲池的命中率公式 87 1.65. 查看表空间状态 88 1.66. UPDATE的N种用法 88 Examples 88 1.67. 查看表状态的快照命令 90 1.68. RUNSTATS的使用...

    你必须知道的495个C语言问题(PDF)

    3.12 我需要根据条件把一个复杂的表达式赋值给两个变量中的一 个。可以用下边这样的代码吗? ((condition) ? a : b) = complicated expression; . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 目录iii ...

Global site tag (gtag.js) - Google Analytics