html js 无限循环,JavaScript For 循环-程序员宅基地

技术标签: html js 无限循环  

JavaScript For 循环

循环在编程中用于自动执行重复性任务。

例如,假设我们要打印“ Hello World” 10次。可以如下所示进行:document.write("Hello World
");

document.write("Hello World
");

document.write("Hello World
");

document.write("Hello World
");

document.write("Hello World
");

document.write("Hello World
");

document.write("Hello World
");

document.write("Hello World
");

document.write("Hello World
");

document.write("Hello World
");

而在循环中,该语句只需编写一次,循环将执行10次,如下所示:

示例for (let i = 0; i 

document.write("Hello World
");

}测试看看‹/›

For 循环

for循环的语法如下:for (initialization; condition; final-expression) {

//待执行的语句

}

initialization在执行语句之前执行(一次)。

condition定义了执行语句的条件。

在执行完语句后,每次都会执行final-expression。

示例for (var i = 0; i 

document.write("
The number is " + i);

}测试看看‹/›

从上面的示例中,您可以阅读:initialization在循环开始之前设置变量(变量i = 0)。

condition 定义了循环运行的条件(我必须小于5)。

每次执行循环中的代码块时,final-expression都会增加一个值(i ++)。

在下面的示例中,我们以升序循环遍历一个数组:

示例var fruits = ['Apple', 'Mango', 'Banana', 'Orange'];

var txt = '';

for (var i = 0; i 

txt += fruits[i] + '
';

}测试看看‹/›

在下面的示例中,我们以降序循环遍历一个数组:

示例var fruits = ['Apple', 'Mango', 'Banana', 'Orange'];

var txt = '';

for (var i = fruits.length -1; i >= 0; i--) {

txt += fruits[i] + '
';

}测试看看‹/›

可选表达式

for循环中的三个表达式都是可选的。例如,我们可以通过在循环外部初始化变量来编写相同的For语句,而不需要初始化表达式。

示例//在循环外声明变量

var i = 0;

//初始化循环

for (; i 

document.write(i);

}测试看看‹/›

在这种情况下,第一个; 表示该语句是指向初始化,条件还是最终表达式,即使省略它也是必要的。

下面,我们还可以从循环中删除条件。我们将使用一个if语句和break来告诉循环在i大于3时停止运行,这与true条件相反。

示例//在循环外声明变量

var i = 0;

//省略初始化和条件

for (; ; i++) {

if (i > 3) {

break;

}

document.write(i);

}测试看看‹/›

注意:break如果省略该条件,则必须包含该语句,否则循环将永远无限循环运行,并可能导致浏览器崩溃。

最后,可以通过将最终表达式放在循环末尾来将其删除。两个分号仍必须包含在内,否则循环将无法运行。

示例//在循环外声明变量

var i = 0;

//省略所有表达式

for (; ;) {

if (i > 3) {

break;

}

document.write(i);

i++;

}测试看看‹/›

从上面的示例可以看出,包括所有这三个语句通常会产生最简洁易读的代码。但是,知道以后可以省略语句是很有用的。

嵌套循环

您可以嵌套循环,即在另一个循环内循环。

嵌套循环在矩阵乘法中的大多数地方都使用,显示表格和许多其他地方:

示例var txt = "";

for (var row = 0; row 

for (var col = 0; col 

txt += " * ";

}

txt += "
";

}测试看看‹/›

For ...in循环

for...in循环迭代的对象的属性。

为了演示,我们将创建一个简单的myObj对象,其中包含一些name:value对。

示例var myObj = {

name: "VISHAL",

age: 22,

height: 175,

city: "New Delhi",

getNothing: function () {return "";}

};

for (let x in myObj) {

document.write(x);

}测试看看‹/›

在每次迭代中,将来自对象的一个属性分配给x,并且此循环一直进行到对象的所有属性用尽为止。

以下示例实现一个for...in循环并打印Web浏览器的Navigator对象:

示例for (let x in navigator) {

document.write(x);

}测试看看‹/›

For ... Of循环

for...of语句创建一个循环遍历可迭代对象,包括:内置String,Array,类似Array的对象和用户定义的可迭代对象。

示例let iterable = [10, 20, 30, 40, 50];

for (let x of iterable) {

document.write(x);

}测试看看‹/›

在每次迭代中,将来自对象的一个元素分配给x,并且此循环持续进行到对象的所有元素用尽为止。

无论for...in和for...of循环迭代的东西。它们之间的主要区别在于它们迭代的内容:for...in循环迭代的对象的枚举的属性,以任意的顺序

for...of循环迭代数据,该迭代的对象定义要遍历

While循环

在while环路和do...while环路将在下一章来解释。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34757706/article/details/118871606

智能推荐

Android 通过JNI实现守护进程(上)_android 手机锁屏之后后台运行 jni实现-程序员宅基地

文章浏览阅读585次。来源:LeBron_Six 链接:blog.csdn.net/yyh352091626/article/details/50542554开发一个需要常住后台的App其实是一件非常头疼的事情,不仅要应对国内各大厂商的ROM,还需要应对各类的安全管家… 虽然不断的研究各式各样的方法,但是效果并不好,比如任务管理器把App干掉,服务就起不来了…网上_android 手机锁屏之后后台运行 jni实现

Windows Server 2008 搭建自带的FTP服务_windows server 2008没有ftp服务吗-程序员宅基地

文章浏览阅读3.9k次。ftp在其他的地方解释一大堆,其实没那么麻烦,FTP其实就是做一个数据传输的服务,有很多时候在咱们大数据中,涉及到数据的交换,或者集群升级之类的,原有的数据不可能直接下载在上传新的环境,所以最常用的就是ftp,下面我们看一下咱们搭建一、启用FTP服务FTP服务在Windows server 2008中默认是没有装载的,但是提供了装载方式,我们需要依次打开控制面板->..._windows server 2008没有ftp服务吗

mysql主从灾备_mysql查看主备状态-程序员宅基地

文章浏览阅读2.9k次,点赞4次,收藏6次。个人分类:数据库相关双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步。对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致。 这样做的好处多。 1. 可以做灾备,其中一个坏了可以切换到另一个。 2. 可以做负载均衡,可以将请求分摊到其中任何一台上,提高网站吞吐量。 对于异地热备,尤其适合灾备。废话不多说了。我们直接进入主题。 我们会主要介绍两部分内容:..._mysql查看主备状态

Selenium自动化测试-进阶_selenium自动化测试进阶使用-程序员宅基地

文章浏览阅读606次。浏览器、鼠标、键盘 操作 maximize() 设置浏览器最大化setSize() 设置浏览器宽高back() 模拟浏览器后退按钮forward() 模拟浏览器前进按钮refresh() 刷新页面(F5) Actions 类提供了鼠标操作的常用方法:contextClick() 右击clickAndHold() 鼠标点击并控制doubleClick() 双..._selenium自动化测试进阶使用

Java数字金额转化成汉字大写金额_java两位小数金额转大写-程序员宅基地

文章浏览阅读1.6k次。import java.math.BigDecimal;/** * Utils - 金额转为大写汉字 */public final class NumberToCNUtils { /**汉语中数字大写*/ private static final String[] CN_UPPER_NUMBER = { "零", "壹", "贰", "叁", "肆", "伍", "陆..._java两位小数金额转大写

CMM(软件能力成熟度模型)-程序员宅基地

文章浏览阅读1.4w次,点赞16次,收藏116次。CMM,即“软件能力成熟度模型”,是对组织软件过程的描述,核心内容是将软件开发视为一个过程,并且根据相应的原则对于软件开发进行相应的监控和研究。_cmm

随便推点

pandas DataFrame 用法--查看和选择数据_pandas中对dataframe的数据如何进行查询-程序员宅基地

文章浏览阅读5.4k次。1.使用 .head() 查看 DataFrame 头部数据2.使用 .tail() 查看 DataFrame 尾部数据3.使用 .describe() 查看 DataFrame 统计数据4.使用 .T查看 DataFrame 转置数据5. 使用 .sort_index() 查看按照轴排序的数据6. 使用 .sort_values() 查看按照值排序的数据7.at 函数:通过行名和列名来取值(取行名为a, 列名为A的值)8.iat 函数..._pandas中对dataframe的数据如何进行查询

CreateFont函数关于字符集与字体的两个参数_createfont字符集怎么设置-程序员宅基地

文章浏览阅读5.8k次。对于fdwCharSet和lpszFace两个参数以及他们的关系,刚开始不是很理解,所以google了一些资料,对这个问题有了一点自己的认识。_createfont字符集怎么设置

小米格机9008救砖后如何跳过nv损坏进入MIUI系统写基带并修临时基带_9008备份基带-程序员宅基地

文章浏览阅读2.7k次。我k40刷完后虽然串号这些都有了也识别卡了但是没信号是因为modem分区用的工厂包的文件还是我手机坏了或者qcn有问题如果你在没有改qcn的情况下刷回原系统的modem分区文件你又会进入nv损坏无限重启[doge]这时你就会发现电脑设备管理器会出现新的4个新设备端口打开QPST就可以刷基带了(k40在正常的系统我觉得应该也可以用这种方式开启端口备份基带,改串号可以用星海之类的软件正常勿改)。以上都是经验之谈具体看个人[坏笑][坏笑][坏笑][坏笑]从折腾了这几天的红米k40来看。从k40救砖经验来看。_9008备份基带

参与CSDN1024程序员节活动-程序员宅基地

文章浏览阅读4k次。有幸参与了CSDN主办的1024程序员活动-岳麓对话,聆听各位专家畅谈中国软硬件产业的根技术以及前沿科技的发展现状和未来。听程序员们聊技术,都比较实在落地,在谈到如果你有个孩子在读大学你会推荐他学什么专业和技术时,各位大佬都集体推荐本专业或本专业的基础学科,都充满了对自己行业的自豪感。小冰CEO李笛说:学习人工智能,未来如果技术被颠覆了,等于是自杀,而不学人工智能,则相当于是他杀。百度副总裁马杰说:我们应站在时代的肩膀上,人工智能在深刻地改变我们的世界,未来会持续产生影响。国科量子副总裁聂际敏说:学

BIM族库下载——10套知名地产Revit样板文件_地暖bim效果图-程序员宅基地

文章浏览阅读1.2k次。【资源介绍】资源名称:10套知名地产Revit样板文件资源分类: BIM族库、Revit族库其他简介:10套知名地产Revit样板文件【资源下载】链接:https://pan.baidu.com/s/1qsTHMbhGkiXztPQDmJlKfQ提取码:wb33【资源截图】【免责申明】本站提供的资源下载链接均来自互联网,仅供学习研究之用,不得用于商业,请在24小时内删除!资源版权归原作者及其公司所有,如果你喜欢,请购买正版。..._地暖bim效果图

西电软件体系结构——01绪论-程序员宅基地

文章浏览阅读288次。课程简介软件体系结构的主题是针对复杂软件系统的高层结构、组织单元之间的相互关系的描述,以及围绕这种描述开展的各项活动,如设计、评估、实现、管理等。课程目标_西电软件体系结构