zoukankan      html  css  js  c++  java
  • JavaScript的循环结构和经典题目

    一、JS中的循环结构

    循环结构的执行步骤
    1、声明循环变量;
    2、判断循环条件;
    3、执行循环体操作;
    4、更新循环变量;
    5、然后循环执行2-4,直到条件不成立,跳出循环。

    while循环()中的表达式,运算结果可以是各种类型,但是最终都会转为真假,转换规则同if结构。代码如下:

    var num = 1;

    while (num<=10){//2、判断循环条件;
    document.write(num+"<br />");//3、执行循环体操作;
    num++;//4、更新循环变量;
    }


    while循环特点:先判断后执行;
    do-while循环:先执行再判断,即使初始条件不成立,do-while循环至少执行一次;代码如下

    var num = 10;

    do{
    document.write(num+"<br />");
    num--;
    }while(num>=0);

    document.write(num);

    for循环
    1、for有三个表达式:①声明循环变量;②判断循环条件;③更新循环变量;
    三个表达式之间,用;分割,
    for循环三个表达式都可以省略,但是两个;缺一不可。
    2、for循环的执行特点:先判断再执行,与while相同

    3、for循环三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||连接,第一三部分用逗号分割;代码如下:

    for (var num =1; num<=10; num++) {
    document.write(num+" <br />");
    }


    循环控制语句
    1、break:跳出本层循环,继续执行循环后面的语句。
    如果循环有多层,则break只能跳出一层。
    2、continue:跳过本次循环剩余的代码,继续执行下一次循环。
    ①对与for循环,continue之后执行的语句,是循环变量更新语句i++;
    ②对于while、do-while循环,continue之后执行的语句,是循环条件判断;
    因此,使用这两个循环时,必须将continue放到i++之后使用,否则,continue将跳过i++进入死循环。代码如下:

    var i=1;
    while (i<=20){

    document.write(i+"<br />");
    i++;
    }
    document.write("循环结束");

    二、求水仙花数(三位数)

    while循环写法,代码如下:

    var i=100,a,b,c;

    while (i<=999){
      a=parseInt(i/100);
      b=parseInt(i%100/10);
      c=parseInt(i%10);
      if(a*a*a+b*b*b+c*c*c==i) document.write(i+"<br />");
      i++;
    }

    for循环写法,代码如下:

    for(var i=100,a,b,c;i<=999;i++){

      a=parseInt(i/100);
      b=parseInt(i%100/10);
      c=parseInt(i%10);
      if(a*a*a+b*b*b+c*c*c==i) document.write(i+"<br />");

    }

    运行结果:

    三、斐波那切数列

    while循环,代码如下:

    var a = 1;

    var b = 1;

    var i = 1;

    var c;

    document.write(a+","+b+",");
    while (i<=10){
      c=a+b;
      a=b;
      b=c;

      i++;
      document.write(c+",");
    }

    for循环,代码如下:

    var a = 1;
    var b = 1;
    var c;
    document.write(a+","+b+",");

    for(var i =1;i<=10;i++){

      c=a+b;

      a=b;

      b=c;

      i++;

      document.write(c+",");

    }

    运行结果:

  • 相关阅读:
    Java 多个线程之间共享数据
    Mysql索引为什么要采用B+Tree而非B-Tree
    MyBatis常见面试题:通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?
    CentOS 8.1 基于二进制安装docker
    shell实现一键证书申请和颁发脚本
    配置DNS的主从以及实现域名反向解析
    利用Dockerfile实现nginx的部署
    编译安装Mariadb-10.5.5
    登录mysql出错:mysql: error while loading shared libraries: libtinfo.so.5: cannot open share
    一键安装MySQL5.7脚本
  • 原文地址:https://www.cnblogs.com/baiyunke/p/7440615.html
Copyright © 2011-2022 走看看