1. for语句
for语句也是一种前测试循环语句,但它具有在执行循环之前初始化变量和定义循环后要执行的代码的能力。以下是for语句的语法:
for (initialization; expression; post-loop-expression) statement
下面是一个示例:
var count=10;
for (var i=0j i alert(i);
}
以上代码定义了变量i的初始值为0。只有当条件表达式(i var count=10;
var i=0;
while(i alert (i);
i++;
}
使用while循环做不到的,使用for循环同样也做不到。也就是说,for循环只是把与循环有关的代码集中在了一个位置。
在这里,南昌网站建设公司百恒网络前端开发工程师有必要指出的是,在for循环的变量初始化表达式中,也可以不使用var关键字。该变量的初始化可以在外部执行,例如:
var count=10;
alert(i);
for ( i=0;i 以上代码与在循环初始化表达式中声明变量的效果是一样的。由于ECMAScLript中不存在块级作用域(第4章将进一步讨论这一点),因此在循环内部定义的变量也可以在外部访问到。例如:
var count -1(
for (var i=O; i alert (i);
}
alert (i);
在这个例子中,会右一个警告框显示循环完成后变量i的值,这个值是10。这是因为,即使i是在循环内部定义的一个变量,但在循环外部仍然可以访问到它。
此外,南昌网页设计公司工程式师提示:for语句中的初始化表达式、控制表达式和循环后表达式都是可选的。将这两个表达式全部省略,就会创建一个无限循环,例如:
for(;;){ //无限循环
doSomething();
)
而只给出控制表达式实际上就把for循环转换成了while循环,例如:
var count=10;
var i=O;
for (; i alert (i);
i++;
}
由于for语句存在极大的灵活性,因此它也是ECMAScript中最常用的一个语句。
2. for-in语句
for-in语句是一种精准的迭代语句,可以用来枚举对象的属性。以下是for-in语句的语法:
for (property in expression) statement
下面是一个示例:
for (var propName in window) {
document.write (propName);
document.write("
"); }
在这个例子中,我们使用for-in循环来显示了BOM中window对象的所有属性。每次执行循环时,都会将window对象中存在的一个属性名赋值给变量propName。这个过程会一直持续到对象中的所有属性都被枚举一遍为止。与for语句类似,这里控制语句中的var操作符也不是必需的。但是,为了保证使用局部变量,南昌网站制作公司前端开发工程师推荐上面例子中的这种做法。
ECMAScript对象的属性没有顺序。因此,通过for-in循环输出的属性名的顺序是不可预测的。具体来讲,所有属性都会被返回一次,但返回的先后次序可能会因浏览器而异。
南昌网站优化公司提醒,safari 3以前版本的for-in语句中存在一个bug,该bug会导致某些属性被返回两次.
希望本文对广大站长或从事企业网站建设公司的团队有所帮助,如对此不太理解的,可以与南昌网络公司百恒网络技术部联系。我们很高兴与广大站长和从事企业网站建设公司技术人员分享我们的技术和经验。