对于loop,我相信你不能再用了。下面文章主要介绍JS中for循环的四种编写方法,通过示例代码详细介绍。有需要的朋友可以参考一下。
: 目录
1.传统用于环路2。对于第三循环。在环路4中形成。带有完整示例的forEach方法:摘要
1. 传统for循环
for(init;condinc) {
//正文
}
类似于C或Java,for关键字后面带括号描述循环设置,括号里用了两个分号;将循环设置分为三个部分,即:
初始化语句(指令),在整个循环开始前执行cond条件(逻辑表达式),表示循环继续的条件init是自增语句(指令),在每次循环结束后执行。
整个循环的执行步骤如下:
执行init语句计算cond表达式,如果为false,退出循环执行循环体执行inc语句,然后返回步骤2。
例如:
设总和=0
for(设I=1;i=10i ) {
总和=i
}
console.log(sum) //55
2. for of 循环
for(iterable的const v){
//正文
}
这里的Iterable指的是各种可以迭代的JS对象。最常用的例子是数组和字符串,此外还有arguments、NodeList、Map、Set等等。执行的效果是,for循环会遍历iterable的每一项,在每一次循环中,代表变量V就是当前循环的项。
例如:
const arr=[1,2,3,4,5]
设总和=0
for (const v of arr) {
总和=v
}
console.log(sum) //15
advanced:for await(iterable的const v)可用于异步循环遍历。
3. for in 循环
for(对象中的常数k){
//正文
}
for循环遍历对象的每个属性,在每个循环中,代表变量k就是当前属性的属性名(key)。
例如:
const obj={ a: 1,b: 2,c: 3 }
设总和=0
for(obj中的常数k){
sum=obj[k] //从key中读取值
}
console.log(sum) //6
请特别注意for of和for in之间的区别。前者的代表变量是项的值,后者的代表变量是属性的名称(键)。
4. forEach方法
Array.forEach(函数)
ForEach是JS数组的原生方法。它接受一个函数作为参数,执行效果就是对数组中的每一项执行传入的函数。传入的函数可以接受三个参数:(element,index,array),其中element表示当前项的值,index表示当前项的下标,array表示循环数组本身。
例如:
const arr=[1,2,3,4,5]
设总和=0
arr . foreach(element=sum=element)
console.log(sum) //15
通常,我们更喜欢在程序中使用for of循环而不是forEach方法,因为for关键字使代码更具可读性。但是,在一些特殊情况下,我们仍然使用forEach方法来循环遍历数组中的每一项。
高级:forEach可以传入异步函数,相当于使用for await(数组的const v)。
附完整实例:
!文档类型html
html lang=en
头
meta charset=UTF-8
meta name= viewport content= width=device-width,initial-scale=1.0
meta http-equiv= X-UA-Compatible content= ie=edge
标题文档/标题
/头
身体
脚本//在此添加测试数组textArr
var textArr=[],
I=0;
while (i40000000) {
textArr.push(i)
我
}
const forTest=(textArr)={
console.time(“测试时间”)
var arr=[]//第一种不声明变量的编写方法(运行效率最好,性能最好)
for(var I=0;i textArr.lengthi ) {
新闻推送(一)
}
console.timeEnd(时间测试)
}
const for test1=(textarr)={ console . time( time for test1 )var new arr=[]//声明变量的第二种写法(比那更差)
for (var i=0,len=textArr.length我leni ) {
新闻推送(一)
}
console.timeEnd(time forTest1 )
}
const forTest2=(textArr)={
console.time(时间测试2 )
var arr=[]//forEach的第三种写法(效率最低,最慢)
textArr.forEach(item={
newArr.push(项目)
})
console.timeEnd(time forTest2 )
}
const forTest3=(textArr)={
console.time(时间测试3 )
var arr=[]//第四种是写for循环的简单方法。(运行效率和不用声明变量写的差不多。相比之下,可以用这种写法,是最好的。)只是我的看法。
for (var i=1,curcur=textArr[I];) {
新闻推送(一)
}
console.timeEnd(time forTest3 )
}
forTest(textArr)
forTest1(textArr)
forTest2(textArr)
forTest3(textArr)
/脚本
/body
/html
总结
关于JS中for循环的四种写法的这篇文章到此为止。更多JS for loop的相关编写方法,请搜索我们之前的文章或者继续浏览下面的相关文章。希望你以后能支持我们!