【JavaScript】for循环

news2024/11/18 1:36:51

文章目录

    • for循环
      • 案例1:两数相加
      • 案例2:绘制九九乘法表
      • 案例3:水仙花数
      • 案例4:绘制菱形
      • 案例5:计算表达式结果
    • break和continue
    • 图片切换效果案例(轮播图结构)
      • 一、JavaScript代码
      • 二、HTML结构和CSS样式
      • 三、代码执行结果截图

for循环

for循环理解成循环的一种简洁(结构)的写法.

语法结构:
for(初始化;限制条件;变量值的改变){
满足条件循环体
}

  1. 初始化:允许多条语句,中间逗号分割。
  2. 限制条件:允许多条语句,中间逗号分割,重点是谁才能真正的控制限制条件,根据代码执行的顺序,后面的条件起到最终的控制作用。
  3. 变量值的改变:允许多条语句,中间逗号分割。

案例1:两数相加

for (var i = 1, j = 1, sum = 0; i <= 5, j <= 10; i++, j++) {
      sum = i + j;
  }
  // 分析执行的顺序
  // 第一步:执行初始化,执行一次 var i = 1, j = 1, sum = 0;
  // 第二步:执行限制条件   i <= 5, j <= 10;
  // 第三步:满足条件,执行循环体 sum = i + j;
  // 第四步:执行变量的改变 i++, j++
  // 继续执行第二步,执行第三步,继续回到第四步,继续执行第二步,执行第三步,执行第四步......

  // 上面的循环结束的时候,下面的值是多少?
  console.log(i); //11
  console.log(j); //11
  console.log(sum); //20   i和j的最后一次有效值都是10, -->

案例2:绘制九九乘法表

对比while和for循环结构上面的区别

// while循环
document.write('<table border=1>');
    var i = 1;
    while (i <= 9) { //i:1-->9
        document.write('<tr>');
        var j = 1;
        while (j <= i) { //重点区域:i确定第几行,j刚好和i有一个关联,就是i第几行,j循环几次   j:1-->9
            document.write('<td>' + j + 'x' + i + '=' + (i * j) + '</td>');
            j++;
        }
        document.write('</tr>');
        i++;
    }
    document.write('</table>'); 



// for循环改写
document.write('<table border=1>');
    for (var i = 1; i <= 9; i++) {
        document.write('<tr>');
        for (var j = 1; j <= i; j++) {
            document.write('<td>' + j + 'x' + i + '=' + (i * j) + '</td>');
        }
        document.write('</tr>');
    }
    document.write('</table>');

在这里插入图片描述

案例3:水仙花数

1.水仙花数。
水仙花数一般都是由三位数字组成,特点是当前三位数刚好等于每一位数字的立方和。
153 = 1^3 + 5^3 + 3^3

思路:
将中间的计算过程给循环,抓住条件
比如当前的数字是num,将num的个十百位拿到(a,b,c)
得到下面的条件
num === a * a * a + b * b * b + c * c * c
// 案例:获取100-999之间所有的水仙花数
    // 第一步:循环获取数字
    for (var num = 100; num <= 999; num++) {
        // 将num的个十百位拿到(a,b,c)
        var a = parseInt(num / 100); //百
        var b = parseInt(num % 100 / 10); //十
        var c = num % 10; //个
        if (num === a ** 3 + b ** 3 + c ** 3) {
            console.log(num);
        }
    }

在这里插入图片描述

案例4:绘制菱形

// 利用*绘制图形
    // 1.三角形
    for (var i = 1; i <= 10; i++) { //i循环一次,j循环的次数同步i
        for (var j = 1; j <= i; j++) {
            document.write('*');
        }
        document.write('<br>');
    }

    // 2.三角形,菱形
    for (var i = 1; i <= 10; i++) { //i循环一次,j循环的次数同步i
        for (var k = 10; k >= i; k--) { //反向循环,逐渐减少的空格&nbsp;
            document.write('&emsp;');
        }
        for (var j = 1; j <= 2 * i - 1; j++) { //逐渐增加的星号  i=1/j=1  i=2/j=3  i=3/j=5
            document.write('帅');
        }
        document.write('<br>');
    }
  	for (var i = 1; i <= 10; i++) {
        for (var k = 1; k <= i; k++) {
            document.write('&emsp;');
        }
        for (var j = 1; j <= 2*(10 - i)+1 ; j++) {
            document.write('帅');
        }
        document.write('<br>');
    }

在这里插入图片描述

案例5:计算表达式结果

1-1/2+1/3-1/4+1/5-.....+1/100的结果

分析:
分子:1
分母:1->100 循环
符号:一负一正

for (var fz = 1, fm = 1, sum = 0; fm <= 100; fm++) {
        sum += fz / fm; //0 + 1/1 - 1/2 + 1/3
        fz = -fz; //负负得正
    }
    console.log(sum);

break和continue

break:结束整个循环,提升性能


    for (var i = 1; i <= 10; i++) {
        if (i === 5) {
            break;
        }
        console.log(i); //1,2,3,4
    }

  

continue:结束这一次循环,继续下一次的循环。

    for (var i = 1; i <= 10; i++) {
        if (i === 5) {
            continue;
        }
        console.log(i); //1,2,3,4,6,7,8,9,10
    }

图片切换效果案例(轮播图结构)

一、JavaScript代码

<script>
        var num = 1;
        left.onclick = function(){
            num--;
            if(num < 1){
                num = 4;
            }
            pic.src ='./img/'+num+'.jpg'
        }
        right.onclick = function(){
            num++;
            if(num >4){
                num =1;
            }
            pic.src ='./img/'+num+'.jpg'
        }
</script>

二、HTML结构和CSS样式

<style>
        #box {
            width: 560px;
            height: 305px;
            border: 3px solid skyblue;
            overflow:hidden;
            position: relative;
        }
        #left,
        #right {
            color: orange;
            text-decoration: none;
            font-size: 100px;
            position: absolute;
            top: 50%;
            margin-top: -70px;
        }
        
        #left {
            left: 20px;
        }
        
        #right {
            right: 20px;
        }
</style>
    <div id="box">
        <img src="./img/1.jpg" alt="" id="pic">
        <a id="left">&lt;</a>
        <a id="right">&gt;</a>
    </div>

三、代码执行结果截图

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/97737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于java+springmvc+mybatis+vue+mysql的演出道具租赁管理系统

项目介绍 前端页面&#xff1a; 功能&#xff1a;首页、道具出租、公告资讯、个人中心、后台管理 管理员后台页面&#xff1a; 功能&#xff1a;首页、个人中心、用户管理、商家管理、道具类型管理、道具出租管理、租赁订单管理、道具归还管理、我的收藏管理、系统管理 用户…

密西根大学张阳实验室郑伟博士在CASP15蛋白质结构预测大赛中斩获多项冠军

简报&#xff1a;在有着蛋白质结构预测领域奥林匹克竞赛之称的最新一届CASP比赛中&#xff08;CASP15&#xff09;&#xff0c;密西根大学张阳教授和Peter Freddolino教授实验室的郑伟博士在多个比赛项目中获得冠军。其中D-I-TASSER算法&#xff08;参赛名&#xff1a;“UM-TBM…

nodejs银行取号系统vue

目 录 1绪论 1 1.1项目研究的背景 1 1.2开发意义 1 1.3项目研究现状及内容 5 1.4论文结构 5 2开发技术介绍 7 2.1 B/S架构 7 2.2 MySQL 介绍 7 2.3 MySQL环境配置 7 3系统分析 9 3.1可行性分析 9 3.1.1技术可行性 9 3.1.2经济可行性 …

学会4种方法,掌握端到端测试处理数据..

推荐阅读&#xff1a; [内部资源] 想拿年薪30W的软件测试人员&#xff0c;这份资料必须领取~ Python自动化测试全栈性能测试全栈&#xff0c;挑战年薪40W 对Web应用程序运行自动化的端到端测试时&#xff0c;最常见的问题之一是如何处理测试数据。端到端测试通常会在通过应用…

授权服务器搭建以及授权码模式

前面的 GitHub 授权登录主要向大家展示了 OAuth2 中客户端的工作模式。对于大部分的开发者而言&#xff0c;日常接触到的 OAuth2 都是开发客户端&#xff0c;例如接入 QQ 登录、接入微信登录等。不过也有少量场景&#xff0c;可能需要开发者提供授权服务器与资源服务器&#xf…

Spring MVC【创建与使用】

Spring MVC【创建与使用】&#x1f34e;一.Spring MVC介绍&#x1f352;1.1 什么是SpringMVC?&#x1f352;1.2 MVC 定义&#x1f352;1.3 Spring MVC 与 MVC 的区别&#x1f352;1.4 Spring MVC的基本功能&#x1f34e;二. Spring MVC项目的创建&#x1f352;2.1 Spring MVC …

代码随想录DAY51 | 309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费

文章目录309.最佳买卖股票时机含冷冻期714.买卖股票的最佳时机含手续费309.最佳买卖股票时机含冷冻期 文章讲解&#xff1a;代码随想录 (programmercarl.com) 题目链接&#xff1a;309. 最佳买卖股票时机含冷冻期 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; …

Efficientdet源码详解

1.参数配置 最重要的参数配置如下 -p:配置文件&#xff0c;需要在project文件夹下新建配置文件-c:efficientdet的版本,efficientdet B0-B7-n:windows为0&#xff0c;linix根据自己的需求修改--batch_size:batch大小--data_path:数据集路径-p data --batch_size 16 其中&…

【Flask框架】——20 请求钩子

在客户端和服务器交互的过程中&#xff0c;有些准备工作或扫尾工作需要处理&#xff0c;比如&#xff1a; 在请求开始时&#xff0c;建立数据库连接&#xff1b; 在请求开始时&#xff0c;根据需求进行权限校验&#xff1b; 在请求结束时&#xff0c;指定数据的交互格式。 …

Dubbo 1 分布式系统中的相关概念 1.1 大型互联网项目结构目标

Dubbo 【黑马程序员Dubbo快速入门&#xff0c;Java分布式框架dubbo教程】 【非常重要就完事儿 了】 1 分布式系统中的相关概念 文章目录Dubbo1 分布式系统中的相关概念1.1 大型互联网项目结构目标1.1.1 传统项目 和 互联网项目1.1.2 互联网项目特点1.1.3 大型互联网项目架构…

【2022.12.17】备战春招Day12——每日一题 + 76. 最小覆盖子串 + 24. 两两交换链表中的节点

【每日一题】1764. 通过连接另一个数组的子数组得到一个数组 题目描述 给你一个长度为 n 的二维整数数组 groups &#xff0c;同时给你一个整数数组 nums 。 你是否可以从 nums 中选出 n 个 不相交 的子数组&#xff0c;使得第 i 个子数组与 groups[i] &#xff08;下标从 0…

C++绘制菱形(曼哈顿距离求解:贼快!!!)

思路&#xff1a; 1.双重for循环遍历输出是最基本的 2.了解曼哈顿距离 &#xff08;1&#xff09;菱形的输入一定是奇数 &#xff08;2&#xff09;我们是思想是填充 * 怎么填呢&#xff1f;我们来画图看看 以 3*3 的矩阵为例子&#xff01; 我们来看看 距离是怎么定义的…

LInux进程优先级和nice值

文章目录一 定义描述二 查看nice值2.1 使用top命令交互式查看nice值2.2 使用ps命令查看nice值2.3 查看程序调度策略三 修改nice值3.1 启动特定nice值的进程3.2 更改现有进程的nice级别一 定义描述 大部分情况下&#xff0c;计算机需要运行的进程数超过了计算机拥有CPU的核心数…

[附源码]Python计算机毕业设计后疫情时期社区居民管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

uni-app卖座电影多端开发纪实(二):搭建导航

@创建4个Tab页 创建一个测试页hello 在pages目录上右键,新建页面执行如图操作,即可全自动生成页面组件+页面注册(pages.json)pages.json 中会生成这么一个玩意,就是页面声明了 pages:[{"path" : "pages/hello/hello","style" :

#ubuntu# 自动挂载硬盘 文件无权限Permission denied

操作前&#xff0c;切记做好备份工作。。。。 有时候我们服务器或电脑使用自动挂载硬盘后&#xff0c;发现没有权限。即使使用chmod 666 xxx也无济于事。无法让非root用户对该硬盘具有完全权限。 可以看到挂载的硬盘容量为1T 如果没有数据的话&#xff0c;可以尝试重新格式化硬…

老字号品牌营销杂志老字号品牌营销杂志社老字号品牌营销编辑部2022年第23期目录

中华老字号故事 全素斋 王红; 1 老字号研究《老字号品牌营销》投稿&#xff1a;cnqikantg126.com 刍议数字赋能天津老字号创新发展的路径 刘宝亮; 2-4 湖南老字号招牌广告的特征、价值与影响研究 毛凌云; 5-7 品牌与营销 西秦刺绣的传播路径研究——以“秦绣工…

爬虫?不是,mitmproxy帮你采集微信公众号留言

前言 有位朋友需要收集公司微信公众号的文章的留言&#xff0c;但苦于微信公众平台没有提供留言的API&#xff0c;所以朋友需要在每一篇文章下面去手动复制粘贴&#xff0c;朋友觉得很麻烦&#xff0c;于是来找到我&#xff01;遂有此文。 下一篇&#xff0c;将结合uiautomatio…

Linux——进程管理

动态监控进程 介绍 top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处&#xff0c;在于top在执行一段时间可以更新正在运行的进程。 基本语法 top [选项] 选项说明 查看的时候&#xff08;大写锁定要开启&#xff09;P就按CPU的使用率来排序&#…

c语言指针和存储值的格式,对地址中数据的读取

数值存储方式 以int型为例&#xff0c;当有四个字节时&#xff0c;位权大的内存地址较高 *(char*)(0x61FE1C))的含义分析&#xff0c;首先将地址做为一个字符变量的首地址&#xff0c;实际也就只有一个字节。最外层的*表示取这个地址下的值 一个实例 # include "stdio.…