循环语句就是控制代码循环重复执行多少次。
循环语句将来解决我们遇到的 重复代码 多次执行的问题。
语法格式:
for( 初值表达式 ; 条件表达式;步长表达式 ){
代码块
}
解释:
初值表达式 定义一个变量并且赋初始值 var i = 0
条件表达式 判断条件 i < 100
步长表达式 循环一次之后的自增或者自减 i++
示例:
<script type="text/javascript">
for( var i = 0; i<100; i++ ){
document.write("你好 世界");
}
</script>
执行流程:
初值表达式 var i = 0
条件表达式 i<100; 成立则执行大括号里面的代码 不成立则循环结束
代码块
步长表达式 i++
条件表达式 i<100; 成立则执行大括号里面的代码 不成立则循环结束
代码块
步长表达式 i++
条件表达式 i<100; 成立则执行大括号里面的代码 不成立则循环结束
.....
条件表达式 i<100; 成立则执行大括号里面的代码 不成立则循环结束
<script type="text/javascript">
for( var i = 0; i<101; i++ ){
if( i%2 != 0 ){
document.write( i + "\n");
}
}
</script>
<script type="text/javascript">
for( var i = 0; i<101; i++ ){
if( i%2 == 0 ){
document.write( i + "\n");
}
}
</script>
<script type="text/javascript">
for( var i = 0; i<101; i+=2 ){
document.write( i + "\n");
}
</script>
<script type="text/javascript">
for( var i = 0; i<51; i++ ){
document.write( i*2 + "\n");
}
</script>
<script type="text/javascript">
for( var a = 0;a<6;a++ ){
for(var i=0;i<20;i++){
document.write("*");
}
document.write("<br />");
}
</script>
<script type="text/javascript">
for( var a = 10;a>0;a-- ){
for(var i=0;i<a;i++){
document.write("*");
}
document.write("<br />");
}
</script>
求 1+2+3+4+5+6+7+8+9+....+95+96+97+98+99+100 的 和 ?
实现版:
var a = 1+2+3+4+5+6+7+8+9+....+95+96+97+98+99+100;
document.write(a);
我们即使这样写代码,计算也也是一步一步的进行计算,它也是先算的 1+2 得3 ,然后再用3 +3 得 6,然后再用 6 +4 。。。。 +100 得5050
优化版
var a = 1;
a += 2; // a = 1+2 ; a 3
a += 3; // a = 3+3 ; a 6
a += 4; // a = 6+4 ; a 10
a += 5; // a= 10+5; a 15
....
a += 100;
document.write(a);
最终版
var a = 1;
for(var i=2;i<101;i++){
a += i;
}
document.write(a);
for循环是一个优化代码
用户连续输入五次考试成绩 求五次的总和
实现版:
<script type="text/javascript">
var a = Number( prompt("请输入第1次成绩") );
var b = Number( prompt("请输入第1次成绩") );
var c = Number( prompt("请输入第1次成绩") );
var d = Number( prompt("请输入第1次成绩") );
var e = Number( prompt("请输入第1次成绩") );
var z = a+b+c+d+e;
document.write(z);
</script>
优化版:
<script type="text/javascript">
var a = Number( prompt("请输入第1次成绩") );
var b = Number( prompt("请输入第2次成绩") );
var c = Number( prompt("请输入第3次成绩") );
var d = Number( prompt("请输入第4次成绩") );
var e = Number( prompt("请输入第5次成绩") );
var z = 0;
z+=a;
z+=b;
z+=c;
z+=d;
z+=e;
document.write(z);
</script>
<script type="text/javascript">
var z = 0;
z+= Number( prompt("请输入第1次成绩") );
z+= Number( prompt("请输入第2次成绩") );
z+= Number( prompt("请输入第3次成绩") );
z+= Number( prompt("请输入第4次成绩") );
z+= Number( prompt("请输入第5次成绩") );
document.write(z);
</script>
最终版:
<script type="text/javascript">
var z = 0;
var max = 0;
var min = 100;
for (var i = 1; i < 6; i++) {
var a = Number(prompt("请输入第" + i + "次成绩"));
z += a;
if(a > max ) max = a;
if(a < min ) min = a;
}
document.write( "总和为:"+ z + "<br />" );
document.write( "平均值为:" +z/5+ "<br />");
document.write( "最大值为:" +max+ "<br />");
document.write( "最小值为:" +min+ "<br />");
</script>
break 结束循环
for( var i=0;i<100;i++){
if(i == 50){
break;
}
document.write(i+"\n");
}
continue 跳出本次循环 继续循环
for (var i = 0; i < 100; i++) {
if (i == 50) {
continue;
}
document.write(i + "\n");
}
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
for(var i=100; i<1000; i++){
var a= parseInt(i/100);
var b= parseInt(i/10%10);
var c= i%10;
if(a*a*a+b*b*b+c*c*c == i){
document.write(i+ "\n");
}
}
for (var i = 1; i < 10; i++) {
for (var j = 1; j <= i; j++) {
document.write(j + "*" + i + "=" + j * i + "\n");
}
document.write("<br/>");
}