javascript 四种for循环

本文将按照出现的先后顺序总结 JavaScript for 循环的4种编写方式。阅读后,你可以像专家一样正确使用它们。


1.C 风格的“三表达式” For 循环

这是自 ECMAScript 3 (ES3) 以来可用的老式方法。我们可以用三表达式样式来编写 for 循环:

var a = [1,2,3,4]
for (var i =o; i<a.length; i++){
	console.log(a[i])
}

不用说,这是一种经典的 C 风格方式。 如果我们愿意,我们可以一直使用这种时尚。 但它在现代 JavaScript 项目中不像以前那么流行,因为我们现在有更方便的方法。

2.“for…in…”循环

为了使对象的迭代更容易,有一个“for…in…”语法,它也可以从 ES3 获得。

var author = {name: 'chan',age: 200}
for (var k in author) {
	console.log(k+ ':' + author[k])
}
// name : chan
// age : 20

使用这种方式的最佳实践是永远不要将它用于数组.


由于数组也是幕后的对象,每一项的索引都被视为对象的属性,索引顺序是依赖于实现的,数组值可能不会按照你期望的顺序访问。应用“for...in... ”到数组可能会导致一些意想不到的结果。
Array.prototype.foo = 1
var a = [1,2,3,4,5]
for (var x in a) {
	console.log(x)
}
// 0 1 2 3 4 foo

因此,为了使你的代码没有错误,永远不要将“for…in…”应用于数组。

3.数组上的“forEach”方法

由于“for…in…”不适用于数组。 应该有更好的迭代 JavaScript 数组的方法。 所以 ES5 引入了数组的迭代方法。 在我看来,这种改进使 JavaScript 变得优雅。

var a = [1,2,3,4]
a.forEach(function(val){
	console.log(val)
})
// 1 2 3 4

4.ES6 中的“for…of…”语法

众所周知,ES6 是 JavaScript 的里程碑。 这个版本引入了许多很棒的功能。 “for…of…”方法就是其中之一。 它使事情变得更加优雅。

var a = [1,2,3,4]
for (let char of a) {
	console.log(char)
}
// 1 2 3 4
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript中的双层for循环是一种常见的循环结构,用于在嵌套的情况下对一组数据进行迭代和操作。在这个例子中,我们展示了三种不同的双层for循环方法。 方法一使用了两个循环变量i和j,其中i控制行数,j控制每行的元素数量。内层循环从i开始,从外层循环的递增中递减,以此来控制每行的元素数量。 方法二与方法一类似,但内层循环每次都从0开始,通过控制比较的数来控制每行的元素数量,即每行的元素数量为6-i。 方法三与方法二类似,但内层循环从6开始递减,以此来控制每行的元素数量。 除了使用双层for循环之外,还可以使用数组的map方法来实现类似的功能。map方法可以对数组中的每个元素进行操作,并返回一个新的数组。 在这个例子中,我们展示了如何使用map方法对一个数组进行操作,并输出结果。 另外,还可以使用标签来控制循环的跳出。在这个例子中,我们使用了标签“foo”,当内层循环的条件满足时,使用break语句跳出标签为“foo”的循环。 以上是关于JavaScript中双层for循环的介绍和示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Javascript中实现倒三角形的双层for循环的三种方法](https://blog.csdn.net/weixin_44626981/article/details/128436717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [理解javascript中Map代替循环](https://download.csdn.net/download/weixin_38631049/13181942)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [javaScript:双层for循环,如何在内层for循环中跳出外层for循环](https://blog.csdn.net/LeeBingNing/article/details/128697891)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值