循环可以将代码块执行指定的次数。JavaScript 支持不同类型的循环:
for - 循环代码块一定的次数
for/in - 循环遍历对象的属性
while - 当指定的条件为 true 时循环指定的代码块
do/while - 同样当指定的条件为 true 时循环指定的代码块
如果一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的。
// 我们可以这样输出数组的值: document.write(cars[0] + "<br>"); document.write(cars[1] + "<br>"); document.write(cars[2] + "<br>"); document.write(cars[3] + "<br>"); document.write(cars[4] + "<br>"); document.write(cars[5] + "<br>"); // 不过通常我们这样写: for (var i=0;i<cars.length;i++) { document.write(cars[i] + "<br>"); }实例
<!DOCTYPE html> <html> <body> <script> cars=["BMW","Volvo","Saab","Ford"]; for (var i=0;i<cars.length;i++) { document.write(cars[i] + "<br>"); } </script> </body> </html>
for (语句 1; 语句 2; 语句 3) { // 被执行的代码块 }语句 1 在循环(代码块)开始前执行
<!DOCTYPE html> <html> <body> <p>点击下面的按钮,将代码块循环五次:</p> <button onclick="myFunction()">点击这里</button> <p id="demo"></p> <script> function myFunction() { var x=""; for (var i=0;i<5;i++) { x=x + "The number is " + i + "<br>"; } document.getElementById("demo").innerHTML=x; } </script> </body> </html>注释:从上面的例子中,您可以看到:
<!DOCTYPE html> <html> <body> <script> cars=["BMW","Volvo","Saab","Ford"]; for (var i=0,l=cars.length; i<l; i++) { document.write(cars[i] + "<br>"); } </script> </body> </html>同时您还可以省略语句 1(比如在循环开始前已经设置了值时):
<!DOCTYPE html> <html> <body> <script> cars=["BMW","Volvo","Saab","Ford"]; var i=2,len=cars.length; for (; i<len; i++) { document.write(cars[i] + "<br>"); } </script> </body> </html>
<!DOCTYPE html> <html> <body> <script> cars=["BMW","Volvo","Saab","Ford"]; var i=0,len=cars.length; for (; i<len; ) { document.write(cars[i] + "<br>"); i++; } </script> </body> </html>
JavaScript for/in 语句循环遍历对象的属性: <!DOCTYPE html> <html> <body> <p>点击下面的按钮,循环遍历对象 "person" 的属性。</p> <button onclick="myFunction()">点击这里</button> <p id="demo"></p> <script> function myFunction() { var x; var txt=""; var person={fname:"Bill",lname:"Gates",age:56}; for (x in person) { txt=txt + person[x]; } document.getElementById("demo").innerHTML=txt; } </script> </body> </html>注释:本例中点击按钮时返回的结果为 "BillGates56"。
评论