for语句,也是一个循环语句,也称for循环
在for循环中,为我们提供了专门的位置来放置三个表达式:1.初始表达式 2.条件表达式 3.更新表达式
for循环的语法:
for(初始表达式;条件表达式;更新表达式){
语句……
}
for循环的执行流程:1.执行初始化表达式,初始化变量(初始表达式只会执行一次) 2.执行条件表达式,判断是否执行循环 如果为true,则执行循环 3.如果为false,则终止循环 4.执行更新表达式,更新表达式执行完毕,继续重复2
创建一个执行10次的循环:(括号里边的是 i<10,写错了)
for循环中的三个部分都可以省略,也可以写外部。 如果for循环中不写任何表达式,只写两个分号,此时循环是一个死循环会一直执行下去,慎用。
例题:
1.打印1-100之间的所有奇数之和
2.打印1-100之间所有7的倍数的个数及总和
3.水仙花数
水仙花数是指一个3位数,它的每个位置上的数字的3次幂之和等于它本身。(例如:1^3+5^3+3^3=153),请打印所有水仙花数。
嵌套的for循环
通过程序,在页面中输出如下的图形
* 1 <1 i=0
** 2 <2 i=1
*** 3 <3 i=2
**** 4 <4 i=3
***** 5 <5 i=4
*****
*****
*****
*****
*****
***** 5 <5(5-0) i=0
**** 4 <4(5-1) i=1
*** 3 <3(5-2) i=2
** 2 <2(5-3) i=3
* 1 <1(5-4) i=4
// 通过一个for循环来输出图形
// 这个for循环执行几次,图形的高度就是多少
// 他可以用来控制图形的高度
for(var i=0;i<5;i++){
// 在循环的内部在创建一个循环,用来控制图形的宽度
// 目前我们的外部的for执行1次,内部就执行5次
// 内层循环可以来决定图形的宽度,执行几次图形的宽度就是多少
for(var j=0;j<i+1;i++){
document.write("* * * * ");
}
// 输出一个换行
document.write("<br />");
}
for嵌套循环的练习
1.打印99乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
..............
<script>
// 创建外层循环,用来控制乘法表的高度
for(var i=1;i<=9;i++){
// 创建一个内层循环来控制图形宽度
for(var j=1;j<=i;j++){
document.write("<span>"+j+"*"+i+"="+i*j+"</span>")
}
// 输出一个换行
document.write("<br/>");
}
</script>
<style>
span{
display: inline-block;
width: 80px;
}
</style>
2.打印出所有1-100之间所有的质数
// 打印2-100之间所有的数
for(var i=2;i<=100;i++){
// 创建一个布尔值,用来保存结果,默认i是质数
var flag=ture;
// 获取i是否是质数
// 获取2-i之间的所有数
for(var j=2;j<i;j++){
// 判断i是否能被j整除
if(i%j==0){
// 如果进入判断则说明i不是质数,修改flag的值为false
flag=false;
}
}
// 如果是质数,则打印i的值
if(flag){
console.log(i);
}
}