JavaScript的循环方式(1)
JavaScript提供了许多通过LOOPS迭代的方法。本教程解释了现代JAVASCRIPT中各种各样的循环可能性
JavaScript提供了许多迭代循环的方法。本教程通过一个小例子和主要属性解释每一个。
for
const list = ['a', 'b', 'c'] for (let i = 0; i < list.length; i++) { console.log(list[i]) //value console.log(i) //index }
你可以使用break中断for循环
你可以使用continue继续for循环的下一次迭代
forEach
在ES5中引入。给定一个数组,您可以使用list.forEach()迭代其属性:
const list = ['a', 'b', 'c'] list.forEach((item, index) => { console.log(item) //value console.log(index) //index }) //index is optional list.forEach(item => console.log(item))
不过需要注意的是你无法摆脱这个循环。
do...while
const list = ['a', 'b', 'c'] let i = 0 do { console.log(list[i]) //value console.log(i) //index i = i + 1 } while (i < list.length)
你可以使用break中断while循环:
do { if (something) break } while (true) 你可以使用continue跳转到下一个迭代: do { if (something) continue //do something else } while (true) while const list = ['a', 'b', 'c'] let i = 0 while (i < list.length) { console.log(list[i]) //value console.log(i) //index i = i + 1 }
你可以使用break中断while循环:
while (true) { if (something) break } 你可以使用continue跳转到下一个迭代: while (true) { if (something) continue //do something else }
与do...while的区别在于do...while总是至少执行一次循环。
for...in
迭代对象的所有可枚举属性,给出属性名称。
for (let property in object) { console.log(property) //property name console.log(object[property]) //property value }
for...of
ES2015引入了for循环,它结合了forEach的简洁性和破解能力:
//iterate over the value for (const value of ['a', 'b', 'c']) { console.log(value) //value } //get the index as well, using `entries()` for (const [index, value] of ['a', 'b', 'c'].entries()) { console.log(index) //index console.log(value) //value }
注意使用const。此循环在每次迭代中创建一个新范围,因此我们可以安全地使用它而不是let。
for...in VS FOR...OF
与for...in的区别在于:
for...of 迭代属性值
for...in 迭代属性名称
在这里给大家分享一下,我是一名5年前端工程师,自己建了一个q群:731771211 ,群里不停更新最新的教程和学习方法,加入一起学习与交流
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java 11中的新功能和API详解系列1
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/82870507 Java 11中的新功能和API详解系列1 2018.9.27 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 JDK 11在语言语法方面有一个小改动,增加了相当数量的新API,以及运行单文件应用程序而无需使用编译器的能力。此外,可以看到删除了java.se.ee聚合器模块,这可能会影响将现有应用程序迁移到JDK 11。 JEP-323:Lambda参数的本地变量语法 Java 10中引入了局部变量类型推断(JEP-286)。这简化了代码编写,因为不再需要显式声明局部变量的类型,而是可以使用关键字var。JEP-323将此语法的使用扩展到Lambda表达式的参数。看下面的例子: list.stream() .map((var s) -> s.toLowerCase()) .collect(Collectors.toList()); 当然,精明的Java程序员会指出Lambda表达式已经有类型推...
- 下一篇
JavaScript正则表达式(2)
前言 在正文开始前,先说说正则表达式是什么,为什么要用正则表达式?正则表达式在我个人看来就是一个浏览器可以识别的规则,有了这个规则,浏览器就可以帮我们判断某些字符是否符合我们的要求。但是,我们为什么要使用正则表达式呢?下面我们就看一下下面这个业务场景。 验证QQ号的合法性 *合法qq号规则:1、5-15位;2、全是数字;3、不以0开头 */ //1.在不使用正则表达式的时候,我们可能会这样判断QQ号的合法性 var qq="6666666a6666"; if(qq.length>=5&&qq.length<=15&&!isNaN(qq)&&qq.charCodeAt(0)!=48){ alert("QQ合法"); }else{ alert("QQ不合法") } //2.使用正则表达式 var qq="066336"; var reg=/^[1-9][0-9]{4,14}$/; if(reg.test(qq)){ alert("QQ合法"); }else{ alert("QQ不合法"); } 从上面这个例子可以看出来使用了正则表...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Red5直播服务器,属于Java语言的直播服务器