JScript 程序流程控制

Jscript 脚本中的语句一般是按照写的顺序来运行的。这种运行称为顺序运行,是程序流的默认方向。

与顺序运行不同,另一种运行将程序流转换到脚本的另外的部分。也就是,不按顺序运行下一条语句,而是运行另外的语句。

第一种是选择结构。用来指明两种程序流方向,在程序中创建一个交叉点(像岔路)。在 Jscript 中有四种选择结构可用。

  • 单一选择结构(if),
  • 二路选择结构(if/else),
  • 内联三元运算符 ?:
  • 多路选择结构(switch)。

第二种类型的程序控制结构是循环结构。使用循环结构来指明当某些条件保持为真时要重复的动作。当控制语句的条件得到满足时(通常在某些迭代的特定数字后),控制跳过循环结构传递到下条语句。在 Jscript 中有四种循环结构可用。

  • 在循环的开头测试表达式(while),
  • 在循环的末尾测试表达式(do/while),
  • 对对象的每个属性都进行操作(for/in),
  • 由计数器控制的循环(for)。

通过嵌套和堆栈选择、循环控制结构,可以创建相当复杂的脚本。

第一种的选择结构其实和PHP等其他语言是一样的。重点说一下第二种循环结构。

使用for循环

  for 语句指定了一个计数器变量,一个测试条件,以及更新该计数器的操作。在每次循环的重复之前,都将测试该条件。如果测试成功,将运行循环中的代码。如果测试不成功,不运循环中的代码,程序继续运行紧跟在循环后的第一行代码。在执行该循环后,计算机变量将在下一次循环之前被更新。

举个例子:

 1 var howFar = 10;  // 将循环次数限制为 10。
 2 
 3 var sum = new Array(howFar);  // 创建一个称为 sum 并具有 10 个成员的数组,这 10 个成员从 0 到 9。
 4 var theSum = 0;
 5 sum[0] = 0;
 6 
 7 for(var icount = 0; icount < howFar; icount++)  {        // 在本例中将从 0 到 9 进行计数。
 8 theSum += icount;
 9 sum[icount] = theSum;
10 }

使用 for...in 循环

  JScript 提供了一种特别的循环方式来遍历一个对象的所有用户定义的属性或者一个数组的所有元素。for...in 循环中的循环计数器是一个字符串,而不是数字。它包含当前属性的名称或者当前数组元素的下标。(相当于 PHP 中的 foreach())

举个例子:

 1 // 创建具有某些属性的对象
 2 var myObject = new Object();
 3 myObject.name = "James";
 4 myObject.age = "22";
 5 myObject.phone = "555 1234";
 6 
 7 // 枚举(循环)对象的所有属性
 8 for (prop in myObject)
 9 {
10     // 显示 "The property 'name' is James",等等。
11     window.alert("The property '" + prop + "' is " + myObject[prop]);
12 }

使用 while  或 do...while循环

  while 循环相似于 for 循环。其不同之处是 while 循环没有内置的计数器或更新表达式。如果希望控制语句或语句块的循环执行,需要不只是“运行该代码 n 次”,而是更复杂的规则,用 while 循环。

举个例子:

var x = 0;
while ((x != 42) && (x != null))
{
    x = window.prompt("What is my favourite number?", x);
}

if (x == null)
    window.alert("You gave up!");
else
    window.alert("Yep - it's the Ultimate Answer!");
 1 var x = 0;
 2 do
 3 {
 4     x = window.prompt("What is my favourite number?", x);
 5 } while ((x != 42) && (x != null));
 6 
 7 if (x == null)
 8     window.alert("You gave up!");
 9 else
10     window.alert("Yep - it's the Ultimate Answer!");

用 break 语句来中断一个循环的运行。(请注意,也用 break 语句退出一个 switch 块。)。如果是一个 for 或者 for...in 循环,在更新计数器变量时使用 continue 语句越过余下的代码块而直接跳到下一个循环中。

转载于:https://www.cnblogs.com/yuanwanli/p/6828689.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值