Js循环结构

Js循环

概念:完成某一功能的代码段在满足条件的情况下,不停的重复调用的过程被称之为循环。

一、for循环

  1. 适用场景
    明确知道循环次数的循环结构
  2. 语法
    for(循环变量初始化;循环条件判断;循环变量变化情况){
    循环体;
    }

练习

1. for循环遍历1-100内所有的偶数

	for(var i=1;i<=100;i++){
    	if(i%2==0){
        	document.write(i+" ");
    	}
	}

2. 使用for循环输出1-100内所有7的倍数和包含7的数字

	for (var i = 0; i < 100; i++) {
    	// 个位数  对10取余  十位数  对10向下取整
    	if (i % 7 == 0 || i % 10 == 7 || Math.floor(i / 10) == 7) {
        	document.write(i + " ");
    	}
	}
  • 多位数位数上数字的获取:
  • 个位数字获取:对10取余
  • 最高位数字:将数字除10的n-1次方,然后向下取整
  • 中间位数:将中间位数字通过位数的降低或提高变为最高位或最低为,然后按照最低为或最高位获取

3. 使用for循环输出100-999之间所有的水仙花数

    for (var i = 100; i < 999; i++) {
        var a = i % 10; //获取个位数字
        var b = Math.floor(i / 10) % 10; //获取十位数字,将百位数变为十位数,中间位置的数字转换为个位数字
        var c = Math.floor(i / 100); //获取百位数字
        if (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == i) {
            document.write(i);
            document.write("<br/>");
        }
    }

水仙花数:个位数字的立方+十位数字的立方+百位数字的立方=自身
Math.pow(a,b):a的b次方

4. 使用for循环生成10个随机范围为[10,20]的整数

    for (var i = 0; i < 10; i++) {
        var a = Math.floor(Math.random() * 11 + 10);
        document.write(a);
        document.write("<br/>");
    }
  • Math.radom()用来生成一个随即小数,取值范围为[0,1)
  • Math.floor():向下取整
  • Math.ceil():向上取整
  • Math.round():四舍五入

二、循环嵌套

循环内部嵌套另一个循环的过程称为循环嵌套

1.九九乘法表

	for (var i = 1; i <= 9; i++) {
    	for (var j = 1; j <= i; j++) {
        	document.write(j + "x" + i + "=" + i * j + "&nbsp;&nbsp;&nbsp;");
    	}
    	document.write("<br/>");
	}

三、while循环

  1. 适用场景:不知道循环次数但是明确知道循环结束的条件的情况
  2. 语法:
    while(循环条件判断){
    循环体;
    }
  3. while循环可以替代for循环,for循环无法替代while循环

练习

使用while循环求1-100的所有数字的和

	var sum=0;
	var i=1;
	while(i<=100){
    	sum+=i;
    	i++;
	}
	document.write(sum);

四、break和continue

  • break:用来终止所在的循环结构
  • continue:用来结束本次循环,但是后面的循环不会受到影响

练习

1. 定义两个变量存储两个数字,求两个数字的最大公约数

逻辑思想:找出二者中较小值,从大到小依次遍历较小值,并分别用两个数除以该值,找到一个二者均能整除的值,即为两个数字的最大公约数

    var a = 10;
    var b = 20;
    var min = a > b ? b : a;
    for (var i = min; i >= 1; i--) {
        if (a % i == 0 && b % i == 0) {
            console.log(i);
            break;
        }
    }

2. 输出1-100中所有不含7的数字

	for (var i = 1; i < 100; i++) {
    	if (i % 10 == 7 || Math.floor(i / 10) == 7) {
        	// 跳过本次循环,直接到循环变量递增
        	continue;
    	}
    	console.log(i);
	}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JavaScript 中常用的循环结构有三种:for 循环、while 循环和do-while 循环。下面是它们对应的流程图示例: 1. for 循环的流程图: ``` ┌─────────────┐ │ 初始化条件 │ └─────────────┘ │ ┌──────┼─────────┐ │ 判断条件是否满足 │ └──────┼─────────┘ │ ┌──────┴──────┐ │ 执行循环体内代码 │ └─────────────┘ │ ┌──────┼─────────┐ │ 更新迭代器 │ └──────┼─────────┘ │ ┌──────┴──────┐ │ 判断条件是否满足 │ └─────────────┘ │ 满足条件执行循环 ──┐ │ │ ┌──────┴──────┐ │ │ 执行循环体内代码 │ │ └─────────────┘ │ │ │ ┌──────┼─────────┐ │ │ 更新迭代器 │ │ └──────┼─────────┘ │ │ │ ┌──────┴──────┐ │ │ 判断条件是否满足 │ │ └─────────────┘ │ │ │ 不满足条件终止循环 ──┘ ``` 2. while 循环的流程图: ``` ┌──────┐ │ 判断条件是否满足 │ └──────┼─────┐ │ │ 满足条件执行循环 ──┐ │ │ ┌──────┴─────┴────┐ │ 执行循环体内代码 │ └─────────────┘ │ ┌──────┼─────┐ │ 判断条件是否满足 │ └──────┼─────┘ │ 不满足条件终止循环 ──┘ ``` 3. do-while 循环的流程图: ``` ┌────────────────┐ │ 执行循环体内代码 │ └───────────────┘ │ 满足条件执行循环 ──┐ │ ┌──────┴─────────┐ │ 判断条件是否满足 │ └────────────────┘ │ 不满足条件终止循环 ──┘ ``` 这些流程图可以帮助开发者更直观地理解循环结构的执行顺序和条件判断,从而更好地设计和调试程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值