知识大全 javascript控制程序的流程
Posted 条件
篇首语:如果梦想有捷径的话,那么这条路的名字一定叫坚持。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 javascript控制程序的流程相关的知识,希望对你有一定的参考价值。
Jscript 脚本中的语句一般是按照写的顺序来运行的 这种运行称为顺序运行 是程序流的默认方向 与顺序运行不同 另一种运行将程序流转换到脚本的另外的部分 也就是 不按顺序运行下一条语句 而是运行另外的语句 要使脚本可用 该控制的转换必须以逻辑方式执行 程序控制的转换是基于一个 决定 这个 决定 结果是真或假(返回 Boolean 型 true 或 false) 创建一个表达式 然后测试其是否为真 主要有两种程序结构实现本功能 第一种是选择结构 用来指明两种程序流方向 在程序中创建一个交叉点(像岔路) 在 Jscript 中有四种选择结构可用 单一选择结构(if) 二路选择结构(if/else) 内联三元运算符 ?: 多路选择结构(switch) 第二种类型的程序控制结构是循环结构 使用循环结构来指明当某些条件保持为真时要重复的动作 当控制语句的条件得到满足时(通常在某些迭代的特定数字后) 控制跳过循环结构传递到下条语句 在 Jscript 中有四种循环结构可用 在循环的开头测试表达式(while) 在循环的末尾测试表达式(do/while) 对对象的每个属性都进行操作(for/in) 由计数器控制的循环(for) 通过嵌套和堆栈选择 循环控制结构 可以创建相当复杂的脚本 第三种形式的结构程序流由意外处理给出 本文档不作讨论
使用条件语句JScript 支持 if 和 if else 条件语句 在 if 语句中将测试一个条件 如果该条件满足测试 执行相关的 JScript 编码 在 if else 语句中 如果条件不满足测试 则将执行不同的代码 最简单的 if 语句格式可以在一行中写完 不过更常见的是多行的 if 和 if else 语句 下述示例演示了使用 if 和 if else 语句的各种可能的语法 第一个示例演示了最简单的布尔测试 当(且仅当)括号之间的项的值为(或者可被强制转换为) true 时 if 后续的语句或语句块才会被执行 //smash() 函数是在该代码的其他地方定义的 // 布尔测试 看 newShip 是否为 true if (newShip)smash(champagneBottle bow); // 在本示例中 除非两个条件都为真 否则该测试将不会被满足 if (lor == 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! );elsetheReaction = ( Hi ho hi ho it s off to work I go! );条件运算符JScript 也支持隐式的条件格式 该格式在要测试的条件后使用一个问号(而不是在条件前的 if ) 它也指定两个可选项 一个在满足条件时使用 另一个在条件不满足时使用 这两个选择项之间必须用一个冒号隔开 var hours = ;// 下面的代码指定 hours 是包含 theHour 的内容 // 还是包含 theHour 的内容 hours = (theHour >= ) ? PM : AM ;如果要一起测试多个条件 并且知道某个条件比其他条件更可能满足或不满足测试 可以使用称为 短路计算 的特性来加速脚本的运行速度 当 JScript 计算逻辑表达式时 只计算要得到结果所需的子表达式 例如 如果有一个 与 表达式 如 ((x == ) && (y == )) Jscript 首先检查 x 是否为 如果不是 即使 y 等于 整个表达式的值也不可能为 true 因此 并不对 y 作测试 Jscript 返回 false 值 类似地 如果多个条件中只要有一个为真(使用 || 运算符) 则当任何一个条件满足该测试时测试则停止 如果要测试的条件包括函数调用或其他复合表达式 这种处理方式就有效 出于此种想法 写 OR 表达式时 先写最有可能为 true 的条件 写 AND 表达式时 先写最有可能为 false 的条件 以这种方式设计脚本的好处的一个示例是 在下例中如果 runfirst() 返回 或 false 则不会运行 runsecond()
if ((runfirst() == ) || (runsecond() == )) // 若干代码 使用循环有多种方式来重复执行一条语句或语句块 通常重复执行被称为循环或重复 重复只是循环的一个运行 典型情况是用一个变量测试来进行控制 每执行一次循环变量的取值都会更改 JScript 支持四种循环 for 循环 for in 循环 while 循环 do while 循环
使用 for 循环for 语句指定了一个计数器变量 一个测试条件 以及更新该计数器的操作 在每次循环的重复之前 都将测试该条件 如果测试成功 将运行循环中的代码 如果测试不成功 不运循环中的代码 程序继续运行紧跟在循环后的第一行代码 在执行该循环后 计算机变量将在下一次循环之前被更新 如果循环条件永不会满足 则不执行该循环 如果测试条件始终满足 则将导致无限循环 在有些情况下 前者可能是合乎需要的 而后者几乎没有用处 因此在编写循环条件时一定要注意 /*更新表达式 (下例中的 icount )将在循环结束时被执行 即在构成循环主体的语句块被执行后 在测试条件之前 */var howFar = ; // 将循环次数限制为 var sum = new Array(howFar); // 创建一个称为 sum 并具有 个成员的数组 这 个成员从 到 var theSum = ;sum[ ] = ;for(var icount = ; icount < howFar; icount ) // 在本例中将从 到 进行计数 theSum = icount;sum[icount] = theSum;var newSum = ;for(var icount = ; icount > howFar; icount ) // 该循环根本不会被执行 因为 icount 不大于 howFar newSum = icount;var sum = ;for(var icount = ; icount >= ; icount ) // 这是一个无限循环 sum = icount;使用 for in 循环JScript 提供了一种特别的循环方式来遍历一个对象的所有用户定义的属性或者一个数组的所有元素 for in 循环中的循环计数器是一个字符串 而不是数字 它包含当前属性的名称或者当前数组元素的下标 下面的代码范例应在 Internet 浏览器中运行 因为它使用 alert 方法 该方法不属于 Jscript // 创建具有某些属性的对象var myObject = new Object();myObject name = James ;myObject age = ;myObject phone = ;// 枚举(循环)对象的所有属性for (prop in myObject)// 显示 The property name is James 等等 window alert( The property prop is myObject[prop]);尽管 for in 循环看起来像 VBScript 的 For Each Next 循环 其实并不一样 JScript 的 for in 循环重复Jscript 对象所有的属性 VBScript 的 For Each Next 循环重复集合中的所有项目 要循环 JScript 中的所有集合 需要用 Enumerator 对象 尽管某些对象(像 Internet 浏览器中的那些)支持 VBScript 的 For Each Next 和 Jscript 的 for in 循环 但多数对象并不都支持
cha138/Article/program/Java/Javascript/201311/25469相关参考
cha138/Article/program/net/201311/12208
用JavaScript编写程序实现文本滚动 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在一些
获取键盘控制事件是实现交互性最有力的方法之一 首先需要了解的是如何初始化该事件基本语句如下 docu
知识大全 JavaScript获取runat server控件的控制权
JavaScript获取runatserver控件的控制权 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
鼠标放到链接上就会出现一个说明框里面有滚动的文字说明 代码是:<a_blankonMouseOver=helpor_net_show(thisevent看到了吧?)onMouseOut=h
知识大全 结合JavaScript与ASP.NET Web窗体进行程序开发
结合JavaScript与ASP.NETWeb窗体进行程序开发 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
用js写一段小程序但是又觉得使用浏览器去运行挺麻烦的下面为大家介绍下如何使用java程序调用javascript程序有类似需求的朋友可以参考下哈希望对大家有所帮助 有时候我们想用js写一
在Dreamweaver中插入FLASH后还可以有很多的控制参数点属性面板右下的参数钮就会有参数和值的加入大家可以自由的控制 以下内容摘自FlashMX帮助文档 参数和属性 下列标记属性和参
取得必需的原始指标后,要进行流程的计算,计算的程序如下: (1)对于全流程而言,应该由外向里算,即先算出整个流程的最终产物的全部未知数,然后再算流程内部的各个工序。 (2)对于工序(或循环
取得必需的原始指标后,要进行流程的计算,计算的程序如下: (1)对于全流程而言,应该由外向里算,即先算出整个流程的最终产物的全部未知数,然后再算流程内部的各个工序。 (2)对于工序(或循环