jscript 循环

使用 for...in 循环
JScript 提供了一种特别的循环方式来遍历一个对象的所有用户定义的属性或者一个数组的所有元素。for...in 循环中的循环计数器是一个字符串,而不是数字。它包含当前属性的名称或者当前数组元素的下标。
下面的代码范例应在 Internet 浏览器中运行,因为它使用 alert 方法,该方法不属于 Jscript
// 创建具有某些属性的对象
var myObject = new Object();
myObject.name = "James";
myObject.age = "22";
myObject.phone = "555 1234";
 
// 枚举(循环)对象的所有属性
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 循环,但多数对象并不都支持。
使用 while 循环
while 循环相似于 for 循环。其不同之处是 while 循环没有内置的计数器或更新表达式。如果希望控制语句或语句块的循环执行,需要不只是运行该代码 n ,而是更复杂的规则,用 while 循环。下面的示例使用 Internet 浏览器对象模型和 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!");
注意    由于 while 循环没有显式的内置计数器变量,因此比其他类型的循环更容易产生无限循环。此外,由于不易发现循环条件是在何时何地被更新的,很容易编写一个实际上从不更新条件的 while 循环。因此在编写 while 循环时应特别小心。
同上面所提到的,在 JScript 中还有 do...while 循环与 while 循环相似,不同处在于它总是至少运行一次,因为是在循环的末尾检查条件,而不是在开头。例如,上面的循环可以被改写为:
var x = 0;
do
{
    x = window.prompt("What is my favourite number?", x);
} while ((x != 42) && (x != null));
 
if (x == null)
    window.alert("You gave up!");
else
    window.alert("Yep - it's the Ultimate Answer!");
使用 break continue 语句
Microsoft Jscript 中当某些条件得到满足时,用 break 语句来中断一个循环的运行。(请注意,也用 break 语句退出一个 switch 块。)。如果是一个 for 或者 for...in 循环,在更新计数器变量时使用 continue 语句越过余下的代码块而直接跳到下一个循环中。
下面的例子基于前面的示例用 break continue 语句控制循环。
var x = 0;
do
{
    x = window.prompt("What is my favourite number?", x);
 
    // 判断用户是否选择取消?如果是,退出循环。
    if (x == null)
        break;
 
    // 是否输入一个数?
    // 如果是则无需要求输入一个数。
    if (Number(x) == x)
        continue;
 
    //  要求用户只输入数字。
    window.alert("Please only enter in numbers!");
 
} while (x != 42)
 
if (x == null)
    window.alert("You gave up!");
else
    window.alert("Yep - it's the Ultimate Answer!");
 
自己写了好多,结果给冲突了,看来只能把例子记录下来了

你可能感兴趣的:(JavaScript,职场,循环,休闲)