JavaScript 循环语句

循环语句

主要用于执行重复的某个操作

while 循环语句

while(bool){ // bool为true,则会循环(执行)代码块的语句。执行完成一次后就回到while判断bool,一直重复下
去。如果bool为false则不会执行while语句,会执行while后面的语句。
语句
}
// while 循环环境
var i=0;
while(i < 100){ // 如果while的条件一直为true,容易进入死循环,当前页面的内存占满,页面会崩溃。while一般
需要有结束条件
i++
console.log(i)
}

for 循环语句

指定循环的起点初始化的一个 number 值,循环的终点到 number 增加到多少 , 终止条件,当终止条件为 true 则循环执行for 语句,为 false 则终止循环执行 for 语句后面的语句
for(1.初始化表达式初始化一个number变量;2.终止条件为true执行false则终止;3.递增表达式递增变量){
4.语句
}
第一次for循环执行1,2, 4执行代码块语句,3.递增
第二次以及后面: 2,4,3
如果2位false,则退出for循环,执行for后面语句
for(i=1;i<=100;i++){
// console.log(i)
}
// 声明变量并初始化变量
for(var j=0;j<=100;j++){
    console.log(j)
}
// 输出100以内的偶数
for(var k=1;k<=100;k++){
    if(k % 2 === 0){
      console.log(k)
    }
}
// 输出3行数字,每行数字都是从1-10的排列
for(var y=1;y<=20;y++){
    var str = "";
    for(var x=1;x<=10;x++){
        str +=" " + x
    }
    str = "<p>"+str+"</p>"
    document.write(str)
}
//
for(var a1=1;a1<=5;a1++){
    for(var b1=1;b1<=a1;b1++){
        document.write("*")
    }
    document.write("<br/>")
}

do...while 循环语句

while 比较类似,都是循环。先执行 do 后面的代码语句,再判断条件是否为 true true 则循环执行 do...while 。如果 为false 则终止循环,执行 while 后面语句
do{
语句
} while(条件)

break 语句。

可以跳出循环代码块
        1. 跳出 switch
        2. 跳出循环语句 for,while do...while
var i=0;
    while(i<100){
        i++
// 从100里面找出等于10的数字,找出以后后面不需要再执行循环,可以加break跳出当前循环,这样就节
省了cpu计算资源。
        if(i === 10){
            console.log(i)
            break
        }
    }
for(let j=1;j<=100;j++){
    if(j===50){
        console.log(50)
        break
    }
}

continue

终止当前这一次循环,返回循环头部执行后面循环
for(var k=1;k<=10;k++){
    if(k===4){
// 终止当前循环(continue后面语句不会执行),继续执行后面的循环
        continue
    }
    console.log(k)
}

 

tag

可以给代码块加一个tag标志,可以使用break或者continue跳转到tag位置,tag可以自定义名称,和变量名定义规则 一致。

tag:
循环语句{
}
outtag: // 创建tag
for(var i=0;i<3;i++){
    for(var j=0;j<3;j++){
        if(j===1){
        console.log("b"+j)
        break outtag; // 跳出循环并跳到指定tag位置,并执行tag后面的语句
        }
    }
    console.log("a"+i)
}
console.log("over")
// continue tag 跳到到指定tag 执行下一次循环
nextTag:
for(var i=0;i<3;i++){
    for(var j=0;j<3;j++){
        if(j===1){
        console.log("b"+j)
        continue nextTag; // 跳到指定tag位置,并执行下一次循环
        }
    }
console.log("a"+i)
}

题  

写一个计算银行利息的程序
1. 用户可以存钱,
存10000元以下,1年利息是0.01,2-3年利息是0.03,3年以上利息是0.06
存10000-30000元,1年利息是0.02,2-3年利息是0.04,3年以上利息是0.07
存30000-80000元,1年利息是0.03,2-3年利息是0.05,3年以上是0.08
80000元以上, 1年利息是0.04,2-3年是0.06,3年以上是0.09

while(true){
      var money = +prompt("请输入存的钱")
      var year = +prompt("请输入年限")
      // 如果money或者year不能转为number,则不进行计算
      if(!money || !year){
        alert("请输入正确的数值!")
      } else {
        var discount = 0.01

        if(money <=10000){
          discount = 0.01
        } else if(money<=30000) {
          discount = 0.02
        } else if(money <= 80000) {
          discount = 0.03
        } else {
          discount = 0.04
        }

        if(year>=2 && year <=3){
          discount += 0.02
        } else if(year >3){
          discount += 0.05
        }
        alert(money+"-"+year+"-"+discount)
        alert("您的利息是:" + money * year * discount)
    }
  }

2.输出100以内的质数(一个大于1的自然数,除了1和它本身外,不能被其他自然数整除的数就是质数。如2,3,5,7....)。

  循环2-100的数字,把每个数字去除以10以内的数字(排除自身),如果没有余数则能除尽,则不是质数

for(var i=2;i<=100;i++){
    var ok=true; // 判断是否是一个质数,true为质数,false不为质数
    for(var j=2;j<=10;j++){
      // 用100以内的每个数字去和10以内的数字取余,如果余数为0则能除尽,并且跳出当前这一次循环。
      if(i % j === 0 && i !== j){
        ok=false
        // 写在那个for循环就跳出哪个for循环
        break
      }
    }
    if(ok){
      console.log(i)
    }
  }

3.输出*星号,找出行和*的关系是 2*(n-1)+1

for(var i=1;i<=5;i++){
    for(var j=1;j<=2*(i-1)+1;j++){
      document.write("*")
    }
    document.write("<br>")
  }

 4.输出*号金字塔形状

for(var i=1;i<=5;i++){
    // 先输出空格
    for(var k=5;k>=i;k--){
      document.write("&ensp;")
    }
    // 再输出*号
    for(var j=1;j<=2*(i-1)+1;j++){
      document.write("*")
    }
    document.write("<br>")
  }

 5.带编号的表格,打印出html标签,最好是把所有标签拼接为1个字符串,再打印

<title>Document</title>
  <style>
    table{
      background-color: blue;
    }
    table td{
      background-color: #fff;
      padding: 15px;
    }
  </style>
 var str = "<table>"
  for(var i=0;i<10;i++){
    str+="<tr>"
    for(var j=0;j<10;j++){
      str+="<td>"+i+"-"+j+"</td>"
    }
    str+="</tr>"
  }
  str+="</table>"
  document.write(str)
  /*
  99 乘法表
  */
 var stra = "<table>"
  for(var i=1;i<=9;i++){
    stra+="<tr>"
    for(var j=1;j<=i;j++){
      stra+="<td>"+j+"x"+i+"="+ i*j +"</td>"
    }
    stra+="</tr>"
  }
  stra+="</table>"
  document.write(stra)

 6.   九九乘法表

var stra = "<table>"
  for(var i=1;i<=9;i++){
    stra+="<tr>"
    for(var j=1;j<=i;j++){
      stra+="<td>"+j+"x"+i+"="+ i*j +"</td>"
    }
    stra+="</tr>"
  }
  stra+="</table>"
  document.write(stra)

 

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值