:学习笔记----控制流程(条件语句)

来源:百度文库 编辑:九乡新闻网 时间:2024/04/30 07:24:26

使用条件语句

JScript 支持 if 和 if...else 条件语句。在 if 语句中将测试一个条件,如果该条件满足测试,执行相关的 JScript 编码。在 if...else 语句中,如果条件不满足测试,则将执行不同的代码。最简单的 if 语句格式可以在一行中写完,不过更常见的是多行的 ifif...else 语句。

下述示例演示了使用 ifif...else 语句的各种可能的语法。第一个示例演示了最简单的布尔测试。当(且仅当)括号之间的项的值为(或者可被强制转换为) true 时,if 后续的语句或语句块才会被执行。

// smash() 函数是在该代码的其他地方定义的。// 布尔测试,看 newShip 是否为 trueif (newShip)   smash(champagneBottle,bow); // 在本示例中,除非两个条件都为真,否则该测试将不会被满足。if (rind.color == "deep yellow " && rind.texture == "large and small wrinkles"){   theResponse = ("Is it a Crenshaw melon?");}// 在本示例中,只要任何一个条件为真,则测试即会满足。var theReaction = "";if ((dayOfWeek == "Saturday") || (dayOfWeek == "Sunday")){   theReaction = ("I'm off to the beach!");}else{   theReaction = ("Hi ho, hi ho, it's off to work I go!");}

条件运算符

JScript 也支持隐式的条件格式。该格式在要测试的条件后使用一个问号(而不是在条件前的 if )。它也指定两个可选项,一个在满足条件时使用,另一个在条件不满足时使用。这两个选择项之间必须用一个冒号隔开。

var hours = "";// 下面的代码指定 hours 是包含 theHour 的内容,// 还是包含 theHour - 12 的内容。hours += (theHour >= 12) ? " PM" : " AM";

如果要一起测试多个条件,并且知道某个条件比其他条件更可能满足或不满足测试,可以使用称为“短路计算”的特性来加速脚本的运行速度。当 JScript 计算逻辑表达式时,只计算要得到结果所需的子表达式。

例如,如果有一个“与”表达式,如 ((x == 123) && (y == 42)),Jscript 首先检查 x 是否为 123。如果不是,即使 y 等于 42,整个表达式的值也不可能为 true。因此,并不对 y 作测试,Jscript 返回 false 值。

类似地,如果多个条件中只要有一个为真(使用 || 运算符),则当任何一个条件满足该测试时测试则停止。如果要测试的条件包括函数调用或其他复合表达式,这种处理方式就有效。出于此种想法,写 OR 表达式时,先写最有可能为 true 的条件。写 AND 表达式时,先写最有可能为 false 的条件。

以这种方式设计脚本的好处的一个示例是:在下例中如果 runfirst() 返回 0 或 false, 则不会运行 runsecond()

if ((runfirst() == 0) || (runsecond() == 0)) {    // 若干代码。}