浅谈for和for in的区别

在我们遍历数组的元素时,经常采用两种方式----for和for in。接下来我们来谈谈他们两者的区别。

a.for(var i=0;i<=arr.length-1;i++){}

b.for(var i in arr){}

以上两种方式我们经常用来遍历数组以及字符串,它们两者主要的区别:
1.在循环数组时, for in循环给循环变量赋值为字符串类型,且它必须把所有的元素要循环一遍。而普通的for循环给循环变量赋值为数字类型,但它可以控制循环哪些元素,更加灵活,所以for in的效率远不及for循环。
2.循环对象:for in循环可以直接循环对象,而普通的for循环没法直接循环对象。
3.用for in循环数组时,就是把数组当做了对象处理,下标就是对象名。
所以说,当你不需要控制循环哪些元素时,直接用for in即可,否则就用普通的for循环,自己可以根据需求控制,更加灵活。
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
each in语句的作用是用于遍历对象的属性,而for of语句是用于遍历可迭代对象的元素。两者有不同的适用场景。for in语句适合遍历对象的属性,而for of语句适合遍历数组或集合的元素。for in语句通过遍历对象的属性名来访问属性值,而for of语句直接访问数组或集合中的元素值。另外,需要注意的是,for in语句是ECMAScript标准的一部分,而for each in语句则不是ECMAScript标准的一部分,它是作为E4X标准的一部分在JavaScript 1.6中发布的。所以,虽然for in和for each in都可以用来遍历对象,但它们有不同的实现和适用性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [比较for、for...in、for...of、forEach的区别](https://blog.csdn.net/thwr1881/article/details/124988134)[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: 50%"] - *2* [javascript中for in 和 for each in的区别](https://download.csdn.net/download/weixin_38620314/13032436)[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: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值